diff --git a/assets/js/dashboard/stats/more-link-state.js b/assets/js/dashboard/stats/more-link-state.js deleted file mode 100644 index 45052d31d90998a750cc4e93b427237916a199e7..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/more-link-state.js +++ /dev/null @@ -1,5 +0,0 @@ -export const MoreLinkState = { - HIDDEN: 'hidden', - LOADING: 'loading', - READY: 'ready' -} diff --git a/assets/js/dashboard/stats/more-link.js b/assets/js/dashboard/stats/more-link.js deleted file mode 100644 index 88c30a00e91d25325c93baccbac718c806576dc1..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/more-link.js +++ /dev/null @@ -1,59 +0,0 @@ -import React, { useRef, useEffect } from 'react' -import { AppNavigationLink } from '../navigation/use-app-navigate' -import { Tooltip } from '../util/tooltip' -import { MoreLinkState } from './more-link-state' - -function detailsIcon() { - return ( - - - - ) -} - -export default function MoreLink({ linkProps, state }) { - const portalRef = useRef(null) - - useEffect(() => { - if (typeof document !== 'undefined') { - portalRef.current = document.body - } - }, []) - - const baseClassName = - 'relative flex mt-px rounded text-gray-500 dark:text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors duration-150 before:absolute before:inset-[-8px] before:content-[" "]' - const icon = detailsIcon() - - if (state === MoreLinkState.HIDDEN) { - return null - } - - if (state === MoreLinkState.LOADING || !linkProps) { - return ( - -
{icon}
-
- ) - } - - return ( - - - {icon} - - - ) -} diff --git a/assets/js/dashboard/stats/pages/details.tsx b/assets/js/dashboard/stats/pages/details.tsx deleted file mode 100644 index 53a86320a7c80d974d00e38e774fc069d4a1b6bf..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/pages/details.tsx +++ /dev/null @@ -1,146 +0,0 @@ -import React from 'react' -import { revenueAvailable, Filter, DashboardState } from '../../dashboard-state' -import { useDashboardStateContext } from '../../dashboard-state-context' -import { useSiteContext } from '../../site-context' -import { - hasConversionGoalFilter, - hasEventFilters, - isRealTimeDashboard -} from '../../util/filters' -import { defaultGetFilterInfo, GetFilterInfo } from '../breakdowns' -import { - BREAKDOWN_REPORTS, - BreakdownReportKey -} from '../reports/reports-config' -import { - DetailsBreakdown, - DimensionCell, - DimensionCellProps -} from '../modals/details-breakdown' -import Modal from '../modals/modal' -import { DetailsExternalLink } from './external-link' -import { externalLinkForPage, trimURL } from '../../util/url' - -const MAX_DIMENSION_LENGTH = 70 - -function makeHostnameDimensionElement(pageFilterKey: string) { - const getFilterInfo: GetFilterInfo = (_dim, row) => ({ - prefix: 'hostname', - filter: ['is', 'hostname', [row.dimensions[0]]] as Filter, - extraFilters: [ - { - prefix: pageFilterKey, - filter: ['is', pageFilterKey, [row.dimensions[1]]] as Filter - } - ] - }) - return function HostnameDimensionElement(props: DimensionCellProps) { - const site = useSiteContext() - const hostname = props.row.dimensions[0] - const path = props.row.dimensions[1] - - const displayValue = trimURL( - `https://${hostname}${path}`, - MAX_DIMENSION_LENGTH + 8 - ).replace(/^https:\/\//, '') - - return ( - - } - getFilterInfo={getFilterInfo} - {...props} - /> - ) - } -} - -const HOSTNAME_DIMENSION_ELEMENTS: Partial< - Record React.ReactNode> -> = { - [BreakdownReportKey.pagesWithHostname]: makeHostnameDimensionElement('page'), - [BreakdownReportKey.entryPagesWithHostname]: - makeHostnameDimensionElement('entry_page'), - [BreakdownReportKey.exitPagesWithHostname]: - makeHostnameDimensionElement('exit_page') -} - -export function PagesDetails({ - breakdownReportKey -}: { - breakdownReportKey: BreakdownReportKey -}) { - const { dashboardState } = useDashboardStateContext() - const site = useSiteContext() - - const reportConfig = BREAKDOWN_REPORTS[breakdownReportKey] - - /*global BUILD_EXTRA*/ - const isRevenueAvailable = - BUILD_EXTRA && revenueAvailable(dashboardState, site) - - const metrics = reportConfig.getMetrics({ - hasConversionGoalFilter: hasConversionGoalFilter(dashboardState), - isRealtime: isRealTimeDashboard(dashboardState), - isDetailed: true, - isRevenueAvailable: isRevenueAvailable, - hasEventFilters: hasEventFilters(dashboardState) - }) - - const DimensionElement = - HOSTNAME_DIMENSION_ELEMENTS[breakdownReportKey] ?? PathDimensionElement - - return ( - - - - ) -} - -const PathDimensionElement = (props: DimensionCellProps) => { - const site = useSiteContext() - const path = props.row.dimensions[0] - - return ( - - } - getFilterInfo={defaultGetFilterInfo} - {...props} - /> - ) -} - -export function pagesDetailsTitle( - reportKey: BreakdownReportKey, - dashboardState: DashboardState -) { - if ( - [BreakdownReportKey.pages, BreakdownReportKey.pagesWithHostname].includes( - reportKey - ) && - hasConversionGoalFilter(dashboardState) - ) { - return 'Conversion pages' - } - return BREAKDOWN_REPORTS[reportKey].detailsTitle -} diff --git a/assets/js/dashboard/stats/pages/external-link.tsx b/assets/js/dashboard/stats/pages/external-link.tsx deleted file mode 100644 index c7ea59d00372921e051ffb79d77b2d44070bed41..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/pages/external-link.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React from 'react' -import { ExternalLinkIcon } from '../breakdowns' - -export function DetailsExternalLink({ - href, - isActive -}: { - href: string | null - isActive?: boolean -}) { - return ( -
- {href && ( - - - - )} -
- ) -} - -export function IndexExternalLink({ - href, - isActive -}: { - href: string - isActive?: boolean -}) { - return ( - - - - ) -} diff --git a/assets/js/dashboard/stats/pages/index.tsx b/assets/js/dashboard/stats/pages/index.tsx deleted file mode 100644 index b422ef1f287963f3c21d686c72972674864a189b..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/pages/index.tsx +++ /dev/null @@ -1,321 +0,0 @@ -import React, { useRef, useState } from 'react' -import { Popover, Transition } from '@headlessui/react' -import { EllipsisVerticalIcon } from '@heroicons/react/24/outline' -import classNames from 'classnames' - -import * as storage from '../../util/storage' -import { - hasConversionGoalFilter, - isRealTimeDashboard -} from '../../util/filters' -import { useDashboardStateContext } from '../../dashboard-state-context' -import { useSiteContext } from '../../site-context' -import { ReportLayout } from '../reports/report-layout' -import { ReportHeader } from '../reports/report-header' -import { TabButton, TabWrapper } from '../../components/tabs' -import MoreLink from '../more-link' -import { MoreLinkState } from '../more-link-state' -import { QueryApiResponse } from '../../api' -import ImportedWarningBubble from '../imported-warning-bubble' -import { - BREAKDOWN_REPORTS, - BreakdownReportKey -} from '../reports/reports-config' -import { - DimensionCellWithBar, - IndexBreakdown, - DimensionCellWithBarProps -} from '../reports/index-breakdown' -import { defaultGetFilterInfo, GetFilterInfo } from '../breakdowns' -import { Filter } from '../../dashboard-state' -import { externalLinkForPage, trimURL } from '../../util/url' -import { IndexExternalLink } from './external-link' -import { - popover, - BlurMenuButtonOnEscape, - SelectedCheckmark -} from '../../components/popover' -import { pagesDetailsTitle } from './details' - -const BAR_COLOR = 'bg-orange-50 group-hover/row:bg-orange-100' -const MAX_DIMENSION_LENGTH = 70 - -type BreakdownMode = 'path' | 'hostname' -type TabKey = - | BreakdownReportKey.pages - | BreakdownReportKey.entryPages - | BreakdownReportKey.exitPages - -const BREAKDOWN_MODE_OPTIONS: Array<{ value: BreakdownMode; label: string }> = [ - { value: 'path', label: 'Path' }, - { value: 'hostname', label: 'URL' } // URL is more suitable for user-facing label -] - -function getReportKey(tab: TabKey, mode: BreakdownMode): BreakdownReportKey { - if (mode === 'hostname') { - switch (tab) { - case BreakdownReportKey.pages: - return BreakdownReportKey.pagesWithHostname - case BreakdownReportKey.entryPages: - return BreakdownReportKey.entryPagesWithHostname - case BreakdownReportKey.exitPages: - return BreakdownReportKey.exitPagesWithHostname - } - } - return tab -} - -export default function Pages() { - const { dashboardState } = useDashboardStateContext() - const site = useSiteContext() - - const tabStorageKey = `pageTab__${site.domain}` - const modeStorageKey = `pageBreakdownMode__${site.domain}` - const [tab, setTab] = useState( - initTab(storage.getItem(tabStorageKey)) - ) - const [breakdownMode, setBreakdownMode] = useState(() => - storage.getItem(modeStorageKey) === 'hostname' ? 'hostname' : 'path' - ) - const [currentData, setCurrentData] = useState(null) - - const reportKey = getReportKey(tab, breakdownMode) - const reportConfig = BREAKDOWN_REPORTS[reportKey] - - const metrics = reportConfig.getMetrics({ - isRealtime: isRealTimeDashboard(dashboardState), - hasConversionGoalFilter: hasConversionGoalFilter(dashboardState) - }) - - function switchTab(newTab: TabKey) { - storage.setItem(tabStorageKey, newTab) - setTab(newTab) - } - - function selectBreakdownMode(mode: BreakdownMode) { - storage.setItem(modeStorageKey, mode) - setBreakdownMode(mode) - } - - const moreLinkState = currentData - ? currentData.results.length > 0 - ? MoreLinkState.READY - : MoreLinkState.HIDDEN - : MoreLinkState.LOADING - - const DimensionElement = - breakdownMode === 'hostname' - ? HOSTNAME_DIMENSION_CELLS[tab] - : PathDimensionCell - - return ( - - -
- - {( - [ - BreakdownReportKey.pages, - BreakdownReportKey.entryPages, - BreakdownReportKey.exitPages - ] as const - ).map((reportKey) => ( - switchTab(reportKey)} - > - {pagesDetailsTitle(reportKey, dashboardState)} - - ))} - - -
-
- search - }} - /> - -
-
- -
- ) -} - -function PagesBreakdownMenu({ - breakdownMode, - onSelect -}: { - breakdownMode: BreakdownMode - onSelect: (mode: BreakdownMode) => void -}) { - const buttonRef = useRef(null) - - return ( - - {({ close }) => ( - <> - - - - - - -

- Break down by -

-
- {BREAKDOWN_MODE_OPTIONS.map(({ value, label }) => ( - - ))} -
-
-
- - )} -
- ) -} - -function PathDimensionCell(props: DimensionCellWithBarProps) { - const site = useSiteContext() - const path = props.row.dimensions[0] - const externalUrl = externalLinkForPage(site, path) - - return ( - - ) - } - {...props} - /> - ) -} - -function makeHostnameDimensionCell(pageFilterKey: string) { - const getFilterInfo: GetFilterInfo = (_dim, row) => ({ - prefix: 'hostname', - filter: ['is', 'hostname', [row.dimensions[0]]] as Filter, - extraFilters: [ - { - prefix: pageFilterKey, - filter: ['is', pageFilterKey, [row.dimensions[1]]] as Filter - } - ] - }) - return function HostnameDimensionCell(props: DimensionCellWithBarProps) { - const site = useSiteContext() - const hostname = props.row.dimensions[0] - const path = props.row.dimensions[1] - const externalUrl = externalLinkForPage(site, path, hostname) - - const displayValue = trimURL( - `https://${hostname}${path}`, - MAX_DIMENSION_LENGTH + 8 - ).replace(/^https:\/\//, '') - - return ( - - ) - } - {...props} - /> - ) - } -} - -const HOSTNAME_DIMENSION_CELLS: Record< - TabKey, - (props: DimensionCellWithBarProps) => React.ReactNode -> = { - [BreakdownReportKey.pages]: makeHostnameDimensionCell('page'), - [BreakdownReportKey.entryPages]: makeHostnameDimensionCell('entry_page'), - [BreakdownReportKey.exitPages]: makeHostnameDimensionCell('exit_page') -} - -const initTab = (storedTab: string): TabKey => { - switch (storedTab) { - case LegacyTabKey.entryPages: - case BreakdownReportKey.entryPages: - return BreakdownReportKey.entryPages - case LegacyTabKey.exitPages: - case BreakdownReportKey.exitPages: - return BreakdownReportKey.exitPages - case BreakdownReportKey.pages: - default: - return BreakdownReportKey.pages - } -} - -enum LegacyTabKey { - entryPages = 'entry-pages', - exitPages = 'exit-pages' -} diff --git a/assets/js/dashboard/stats/reports/change-arrow.test.tsx b/assets/js/dashboard/stats/reports/change-arrow.test.tsx deleted file mode 100644 index 6e3a9bc4e7a5d0006e0abaf082764cba1f93d069..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/reports/change-arrow.test.tsx +++ /dev/null @@ -1,81 +0,0 @@ -import React from 'react' -import { render, screen } from '@testing-library/react' -import { ChangeArrow } from './change-arrow' - -jest.mock('@heroicons/react/24/solid', () => ({ - ArrowUpRightIcon: ({ className, ...props }: { className: string }) => ( - - ↑ - - ), - ArrowDownRightIcon: ({ className, ...props }: { className: string }) => ( - - ↓ - - ) -})) - -it('renders up arrow for positive change', () => { - render() - - const arrowElement = screen.getByTestId('change-arrow') - - expect(arrowElement).toHaveTextContent('↑ 1%') - expect(arrowElement.children[0]).toHaveClass('text-green-500') -}) - -it('renders down arrow for negative change', () => { - render() - - const arrowElement = screen.getByTestId('change-arrow') - - expect(arrowElement).toHaveTextContent('↓ 10%') - expect(arrowElement.children[0]).toHaveClass('text-red-500') -}) - -it('renders no arrow for no change', () => { - render() - - const arrowElement = screen.getByTestId('change-arrow') - - expect(arrowElement).toHaveTextContent('0%') - expect(arrowElement.children).toHaveLength(0) -}) - -it('inverts arrow direction for positive bounce_rate change', () => { - render() - - const arrowElement = screen.getByTestId('change-arrow') - - expect(arrowElement).toHaveTextContent('↑ 15%') - expect(arrowElement.children[0]).toHaveClass('text-red-500') -}) - -it('inverts arrow direction for negative bounce_rate change', () => { - render() - - const arrowElement = screen.getByTestId('change-arrow') - - expect(arrowElement).toHaveTextContent('↓ 3%') - expect(arrowElement.children[0]).toHaveClass('text-green-500') -}) - -it('renders with text hidden', () => { - render( - - ) - - const arrowElement = screen.getByTestId('change-arrow') - - expect(arrowElement).toHaveTextContent('↓') - expect(arrowElement.children[0]).toHaveClass('text-red-500') -}) - -it('renders no content with text hidden and 0 change', () => { - render( - - ) - - const arrowElement = screen.getByTestId('change-arrow') - expect(arrowElement).toHaveTextContent('') -}) diff --git a/assets/js/dashboard/stats/reports/change-arrow.tsx b/assets/js/dashboard/stats/reports/change-arrow.tsx deleted file mode 100644 index c227a24e299d49839cb5c8961dd72aea985aa564..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/reports/change-arrow.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react' -import { Metric } from '../metrics' -import { numberShortFormatter } from '../../util/number-formatter' -import { ArrowDownRightIcon, ArrowUpRightIcon } from '@heroicons/react/24/solid' -import classNames from 'classnames' - -export function ChangeArrow({ - change, - metric, - className, - hideNumber -}: { - change: number - metric: Metric - className: string - hideNumber?: boolean -}) { - let icon = null - const arrowClassName = classNames( - color(change, metric), - 'mb-0.5 inline-block size-2.5 stroke-[1.5px] stroke-current' - ) - - if (change > 0) { - icon = - } else if (change < 0) { - icon = - } - - const formattedChange = hideNumber - ? null - : `${icon ? ' ' : ''}${numberShortFormatter(Math.abs(change))}%` - - return ( - - {icon} - {formattedChange} - - ) -} - -function color(change: number, metric: Metric) { - const invert = metric === 'bounce_rate' - - return change > 0 != invert ? 'text-green-500' : 'text-red-500' -} diff --git a/assets/js/dashboard/stats/reports/index-breakdown.tsx b/assets/js/dashboard/stats/reports/index-breakdown.tsx deleted file mode 100644 index d21069ba9ab8d030bbdd7d59622ffb2e67c3dcb0..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/reports/index-breakdown.tsx +++ /dev/null @@ -1,594 +0,0 @@ -import React, { - useCallback, - useMemo, - useState, - useEffect, - ReactNode -} from 'react' -import FlipMove from 'react-flip-move' -import LazyLoader from '../../components/lazy-loader' -import { useDashboardStateContext } from '../../dashboard-state-context' -import { useSiteContext } from '../../site-context' -import { NonTimeDimension } from '../../stats-query' -import { Metric, getBreakdownMetricLabel } from '../metrics' -import { - ColumnConfiguration, - MetricValueTooltipContent, - SharedBreakdownReportProps, - formatDateRangeLabel, - useBodyPortalRef, - extractMetricValue, - MetricValueWrapper, - GetFilterInfo, - useColumnsHiddenForAllNull, - dimensionOrderBy -} from '../breakdowns' -import { DrilldownLink } from '../../components/drilldown-link' -import { QueryResultRow, QueryResultQuery, QueryApiResponse } from '../../api' -import classNames from 'classnames' -import { Tooltip } from '../../util/tooltip' -import { ChangeArrow } from './change-arrow' -import { MetricFormatterShort, MetricFormatterLong } from './metric-formatter' -import { - hasConversionGoalFilter, - isRealTimeDashboard -} from '../../util/filters' -import { - StatsReportId, - StatsReportQueryKey, - useQueryApi -} from '../../hooks/use-query-api' - -const MAX_ITEMS = 9 -export const MIN_HEIGHT = 356 -export const FADE_IN_CLASSNAME = - 'opacity-100 transition-opacity duration-300 starting:opacity-0' -const ROW_HEIGHT = 32 -const ROW_GAP_HEIGHT = 4 -const DATA_CONTAINER_HEIGHT = - (ROW_HEIGHT + ROW_GAP_HEIGHT) * (MAX_ITEMS - 1) + ROW_HEIGHT - -export const DEFAULT_METRIC_COLUMN_WIDTH = 'w-16 min-w-16' -const VISITORS_WITH_PERCENTAGE_COLUMN_WIDTH = 'w-32 min-w-32' - -const BAR_METRIC = 'visitors' - -type IndexBreakdownProps = SharedBreakdownReportProps & { - metricColumnWidth?: string - DimensionElement: (props: DimensionCellWithBarProps) => ReactNode - onDataReady?: (data: QueryApiResponse) => void - hideMetricsOnMobile?: Metric[] -} - -export function IndexBreakdown({ - metrics, - dimensions, - DimensionElement, - dimensionLabel, - alwaysOnFilters, - onDataReady, - metricColumnWidth = DEFAULT_METRIC_COLUMN_WIDTH, - bundlePercentageWithVisitors = true, - hideMetricsIfAllNull, - hideMetricsOnMobile, - getStatsQuery -}: IndexBreakdownProps) { - const site = useSiteContext() - const { dashboardState } = useDashboardStateContext() - const [visible, setVisible] = useState(false) - - const statsReportQueryKey: StatsReportQueryKey = [ - dimensions.join(',') as StatsReportId, - { - dashboardState, - reportParams: { - metrics, - dimensions, - order_by: [['visitors', 'desc'], ...dimensionOrderBy(dimensions)], - alwaysOnFilters, - pagination: { limit: MAX_ITEMS, offset: 0 } - } - } - ] - - const { apiState, isRealtimeSilentUpdate } = useQueryApi( - site, - statsReportQueryKey, - { enabled: visible, getStatsQuery } - ) - - useEffect(() => { - if (apiState.data && typeof onDataReady === 'function') { - onDataReady(apiState.data) - } - }, [apiState.data, onDataReady]) - - const query: QueryResultQuery | null = apiState.data?.query ?? null - - const barMetricIndex = query - ? query.metrics.findIndex((m) => m === BAR_METRIC) - : null - - const barMaxValue = useMemo(() => { - const rows = apiState.data?.results ?? [] - return barMetricIndex === null - ? null - : Math.max(...rows.map((r) => r.metrics[barMetricIndex] as number)) - }, [apiState.data, barMetricIndex]) - - const metricLabelFor = useCallback( - (metric: Metric): string => { - return getBreakdownMetricLabel(metric, { - hasConversionGoalFilter: hasConversionGoalFilter(dashboardState), - isRealtime: isRealTimeDashboard(dashboardState), - dimensions: dimensions - }) - }, - [dashboardState, dimensions] - ) - - const columnsHiddenForAllNull = useColumnsHiddenForAllNull( - apiState.data?.results, - query, - hideMetricsIfAllNull - ) - - const columns = useMemo((): ColumnConfiguration[] | null => { - if (!query || barMetricIndex === null || barMaxValue === null) return null - - // Only render columns for metrics the API actually returned. When - // bundlePercentageWithVisitors is on (default), `percentage` is shown - // inline in the Visitors cell rather than as its own column. - const filteredMetrics = query.metrics.filter((m) => { - if (columnsHiddenForAllNull.has(m)) return false - return !(bundlePercentageWithVisitors && m === 'percentage') - }) - - const filterDimension = query.dimensions[0] as NonTimeDimension - - const hasPercentage = query.metrics.includes('percentage') - const isVisitorsWithPercentageCell = (m: Metric) => - bundlePercentageWithVisitors && hasPercentage && m === 'visitors' - - return [ - { - key: 'dimension', - renderLabel: () => dimensionLabel, - renderCell: (row, isActive) => ( - - ), - align: 'left' - }, - ...filteredMetrics.map( - (metric): ColumnConfiguration => ({ - key: metric, - renderLabel: () => metricLabelFor(metric), - hideOnMobile: hideMetricsOnMobile?.includes(metric), - renderCell: (row, isActive) => { - if (isVisitorsWithPercentageCell(metric)) { - return ( - - ) - } else { - return ( - - ) - } - }, - width: isVisitorsWithPercentageCell(metric) - ? VISITORS_WITH_PERCENTAGE_COLUMN_WIDTH - : metricColumnWidth, - align: 'right' - }) - ) - ] - }, [ - dimensionLabel, - DimensionElement, - barMetricIndex, - metricLabelFor, - barMaxValue, - query, - metricColumnWidth, - bundlePercentageWithVisitors, - columnsHiddenForAllNull, - hideMetricsOnMobile - ]) - - return ( - setVisible(true)}> - - {...apiState} - rows={apiState.data?.results?.slice(0, MAX_ITEMS) ?? []} - getDimensionValue={(row) => row.dimensions.join(',')} - isRealtimeSilentUpdate={isRealtimeSilentUpdate} - columns={columns} - /> - - ) -} - -export type DimensionCellWithBarProps = { - filterDimension: NonTimeDimension - row: QueryResultRow - barWidthPercent: number - isActive?: boolean -} - -export const DimensionCellWithBar = ({ - text, - icon, - onClick, - externalLink, - getFilterInfo, - filterDimension, - barWidthPercent, - barClassName, - row -}: { - text: string - icon?: ReactNode - onClick?: () => void - externalLink?: ReactNode - getFilterInfo: GetFilterInfo - barClassName: string -} & DimensionCellWithBarProps) => ( - -
- - {text} - - {externalLink} -
-
-) - -function VisitorsWithPercentageCell({ - row, - query, - isActive -}: { - row: QueryResultRow - query: QueryResultQuery - isActive?: boolean -}) { - const portalRef = useBodyPortalRef() - - const { value: visitorsValue, comparison: visitorsComparison } = - extractMetricValue(row, query, 'visitors') - const { value: percentageValue, comparison: percentageComparison } = - extractMetricValue(row, query, 'percentage') - - const visitorsShortFormatter = MetricFormatterShort['visitors'] - const visitorsLongFormatter = MetricFormatterLong['visitors'] - const percentageFormatter = MetricFormatterShort['percentage'] - - const isVisitorsAbbreviated = - visitorsValue !== null && - visitorsShortFormatter(visitorsValue) !== - visitorsLongFormatter(visitorsValue) - - const showVisitorsTooltip = !!visitorsComparison || isVisitorsAbbreviated - const showPercentageTooltip = !!percentageComparison - - const dateRangeLabel = formatDateRangeLabel(query.date_range) - const comparisonDateRangeLabel = query.comparison_date_range - ? formatDateRangeLabel(query.comparison_date_range) - : null - - const percentageCell = ( - - {percentageFormatter(percentageValue)} - {percentageComparison && ( - - )} - - ) - - const percentageWithTooltip = showPercentageTooltip ? ( - } - info={ - - } - > - {percentageCell} - - ) : ( - percentageCell - ) - - const visitorsCell = ( - - {visitorsShortFormatter(visitorsValue)} - {visitorsComparison && ( - - )} - - ) - - const visitorsWithTooltip = showVisitorsTooltip ? ( - } - info={ - - } - > - {visitorsCell} - - ) : ( - visitorsCell - ) - - return ( -
-
{visitorsWithTooltip}
-
{percentageWithTooltip}
-
- ) -} - -function MetricValueCell({ - row, - metric, - metricLabel, - query -}: { - row: QueryResultRow - metric: Metric - metricLabel: string - query: QueryResultQuery -}) { - const portalRef = useBodyPortalRef() - - const { value, comparison } = extractMetricValue(row, query, metric) - - const shortFormatter = MetricFormatterShort[metric] - const longFormatter = MetricFormatterLong[metric] - - const isAbbreviated = - value !== null && shortFormatter(value) !== longFormatter(value) - const showTooltip = !!comparison || isAbbreviated - - const valueContent = ( - - {shortFormatter(value)} - {comparison && ( - - )} - - ) - - if (!showTooltip) return valueContent - - const dateRangeLabel = formatDateRangeLabel(query.date_range) - const comparisonDateRangeLabel = query.comparison_date_range - ? formatDateRangeLabel(query.comparison_date_range) - : null - - return ( - } - info={ - - } - > - {valueContent} - - ) -} - -export function IndexBreakdownRenderer({ - rows, - getDimensionValue, - isPending, - isPlaceholderData, - isRealtimeSilentUpdate, - columns -}: { - rows: TRow[] - getDimensionValue: (row: TRow) => string - isPending: boolean - isPlaceholderData: boolean - isRealtimeSilentUpdate: boolean - columns: ColumnConfiguration[] | null -}) { - const [tappedRow, setTappedRow] = useState(null) - - if (!columns || isPending || (isPlaceholderData && !isRealtimeSilentUpdate)) { - return ( -
-
-
-
-
- ) - } - - if (rows.length === 0) { - return ( -
-
- No data yet -
-
- ) - } - - return ( -
-
- {columns.map((col) => ( -
- {col.renderLabel()} -
- ))} -
-
- - {rows.map((row) => { - const dimensionValue = getDimensionValue(row) - const isActive = tappedRow === dimensionValue - - const handleClick = (e: React.MouseEvent) => { - if ( - window.innerWidth < 768 && - !(e.target as HTMLElement).closest('a') - ) { - setTappedRow(isActive ? null : dimensionValue) - } - } - - return ( -
-
- {columns.map((col) => ( -
- {col.renderCell(row, isActive)} -
- ))} -
-
- ) - })} -
-
-
- ) -} - -export const Bar = ({ - barWidthPercent, - className, - children -}: { - barWidthPercent: number - className: string - children: ReactNode -}) => ( -
-
-
- {children} -
-
-) diff --git a/assets/js/dashboard/stats/reports/metric-formatter.ts b/assets/js/dashboard/stats/reports/metric-formatter.ts deleted file mode 100644 index 604f1cf3274e0cb06cc78b9d0c4f2a036ee4afda..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/reports/metric-formatter.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { Metric } from '../metrics' -import { formatMoneyShort, formatMoneyLong } from '../../util/money' -import { - numberShortFormatter, - durationFormatter, - percentageFormatter, - numberLongFormatter, - nullable -} from '../../util/number-formatter' - -export type FormattableMetric = Metric | 'current_visitors' | 'conversions' - -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export type ValueType = any - -export const MetricFormatterShort: Record< - FormattableMetric, - (value: ValueType) => string -> = { - events: nullable(numberShortFormatter), - pageviews: numberShortFormatter, - total_visitors: numberShortFormatter, - current_visitors: numberShortFormatter, - views_per_visit: numberShortFormatter, - visitors: numberShortFormatter, - visits: numberShortFormatter, - - conversions: numberShortFormatter, - - time_on_page: nullable(durationFormatter), - visit_duration: nullable(durationFormatter), - - bounce_rate: percentageFormatter, - conversion_rate: percentageFormatter, - scroll_depth: percentageFormatter, - exit_rate: percentageFormatter, - group_conversion_rate: percentageFormatter, - percentage: percentageFormatter, - - average_revenue: formatMoneyShort, - total_revenue: formatMoneyShort -} - -export const MetricFormatterLong: Record< - FormattableMetric, - (value: ValueType) => string -> = { - events: nullable(numberLongFormatter), - pageviews: numberLongFormatter, - total_visitors: numberLongFormatter, - current_visitors: numberShortFormatter, - views_per_visit: numberLongFormatter, - visitors: numberLongFormatter, - visits: numberLongFormatter, - - conversions: numberLongFormatter, - - time_on_page: nullable(durationFormatter), - visit_duration: nullable(durationFormatter), - - bounce_rate: percentageFormatter, - conversion_rate: percentageFormatter, - scroll_depth: percentageFormatter, - exit_rate: percentageFormatter, - group_conversion_rate: percentageFormatter, - percentage: percentageFormatter, - - average_revenue: formatMoneyLong, - total_revenue: formatMoneyLong -} diff --git a/assets/js/dashboard/stats/reports/report-header.js b/assets/js/dashboard/stats/reports/report-header.js deleted file mode 100644 index c5b8c381abdb8cb0d5024d8f0c2e38e28d40dee5..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/reports/report-header.js +++ /dev/null @@ -1,9 +0,0 @@ -import React from 'react' - -export function ReportHeader({ children }) { - return ( -
- {children} -
- ) -} diff --git a/assets/js/dashboard/stats/reports/report-layout.tsx b/assets/js/dashboard/stats/reports/report-layout.tsx deleted file mode 100644 index 81d2876e048f713e29ea1288e14d49a37afe3f74..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/reports/report-layout.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react' -import classNames from 'classnames' - -export function ReportLayout({ - children, - testId, - className -}: { - children: React.ReactNode - testId?: string - className?: string -}) { - return ( -
- {children} -
-
- ) -} diff --git a/assets/js/dashboard/stats/reports/reports-config.ts b/assets/js/dashboard/stats/reports/reports-config.ts deleted file mode 100644 index f03e890f65a49f08a5245cd6f518ffc4cef10211..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/reports/reports-config.ts +++ /dev/null @@ -1,454 +0,0 @@ -import { ApiFilter, NonTimeDimension } from '../../stats-query' -import { Metric } from '../metrics' - -export type MetricContext = { - hasConversionGoalFilter?: boolean - isRealtime?: boolean - isCsv?: boolean - isDetailed?: boolean - isRevenueAvailable?: boolean - hasEventFilters?: boolean -} - -export type MetricsByContext = { - realtimeMetrics: Metric[] - defaultIndexMetrics: Metric[] - defaultDetailedMetrics: Metric[] - defaultCsvMetrics: Metric[] - goalFilterIndexMetrics: Metric[] - goalFilterDetailedMetrics: Metric[] - goalFilterCsvMetrics: Metric[] -} - -export type BreakdownReportConfig = { - dimensions: [NonTimeDimension, ...NonTimeDimension[]] - getMetrics: (context: MetricContext) => Metric[] - detailsTitle: string - detailsPath: string - dimensionLabel: string - alwaysOnFilters?: ApiFilter[] - searchDimension?: NonTimeDimension -} - -export const COMMON_BREAKDOWN_METRICS_BY_CONTEXT: MetricsByContext = { - realtimeMetrics: ['visitors', 'percentage'], - defaultIndexMetrics: ['visitors', 'percentage'], - defaultDetailedMetrics: [ - 'visitors', - 'percentage', - 'bounce_rate', - 'visit_duration' - ], - defaultCsvMetrics: ['visitors', 'bounce_rate', 'visit_duration'], - goalFilterIndexMetrics: ['visitors', 'group_conversion_rate'], - goalFilterDetailedMetrics: [ - 'total_visitors', - 'visitors', - 'group_conversion_rate' - ], - goalFilterCsvMetrics: ['visitors', 'group_conversion_rate'] -} - -function chooseMetrics(mbc: MetricsByContext, ctx: MetricContext): Metric[] { - const { - isRealtime, - isCsv, - isDetailed, - hasConversionGoalFilter, - isRevenueAvailable - } = ctx - if (isCsv && hasConversionGoalFilter) { - return mbc.goalFilterCsvMetrics - } - if (isCsv) { - return mbc.defaultCsvMetrics - } - if (hasConversionGoalFilter && isDetailed && isRevenueAvailable) { - return [ - ...mbc.goalFilterDetailedMetrics, - 'total_revenue', - 'average_revenue' - ] - } - if (hasConversionGoalFilter && isDetailed) { - return mbc.goalFilterDetailedMetrics - } - if (hasConversionGoalFilter) { - return mbc.goalFilterIndexMetrics - } - if (isRealtime) { - return mbc.realtimeMetrics - } - if (isDetailed) { - return mbc.defaultDetailedMetrics - } - return mbc.defaultIndexMetrics -} - -function createGetMetricsFn( - mbc: MetricsByContext -): (context: MetricContext) => Metric[] { - return (ctx) => chooseMetrics(mbc, ctx) -} - -export enum BreakdownReportKey { - 'pages' = 'pages', - 'pagesWithHostname' = 'pagesWithHostname', - 'entryPages' = 'entryPages', - 'entryPagesWithHostname' = 'entryPagesWithHostname', - 'exitPages' = 'exitPages', - 'exitPagesWithHostname' = 'exitPagesWithHostname', - 'browsers' = 'browsers', - 'browserVersions' = 'browserVersions', - 'operatingSystems' = 'operatingSystems', - 'operatingSystemVersions' = 'operatingSystemVersions', - 'screenSizes' = 'screenSizes', - 'channels' = 'channels', - 'sources' = 'sources', - 'referrers' = 'referrers', - 'utmMediums' = 'utmMediums', - 'utmSources' = 'utmSources', - 'utmCampaigns' = 'utmCampaigns', - 'utmContents' = 'utmContents', - 'utmTerms' = 'utmTerms', - 'countries' = 'countries', - 'regions' = 'regions', - 'cities' = 'cities', - 'goals' = 'goals' -} - -export const BREAKDOWN_REPORTS: Record< - BreakdownReportKey, - BreakdownReportConfig -> = { - [BreakdownReportKey.pages]: { - dimensions: ['event:page'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultDetailedMetrics: [ - 'visitors', - 'percentage', - 'pageviews', - 'bounce_rate', - 'time_on_page', - 'scroll_depth' - ], - defaultCsvMetrics: [ - 'visitors', - 'pageviews', - 'bounce_rate', - 'time_on_page', - 'scroll_depth' - ] - }), - detailsTitle: 'Top pages', - detailsPath: 'pages', - dimensionLabel: 'Page' - }, - [BreakdownReportKey.pagesWithHostname]: { - dimensions: ['event:hostname', 'event:page'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultDetailedMetrics: [ - 'visitors', - 'percentage', - 'pageviews', - 'bounce_rate', - 'time_on_page', - 'scroll_depth' - ], - defaultCsvMetrics: [ - 'visitors', - 'pageviews', - 'bounce_rate', - 'time_on_page', - 'scroll_depth' - ] - }), - detailsTitle: 'Top pages', - detailsPath: 'pages-with-hostname', - dimensionLabel: 'URL', - searchDimension: 'event:page' - }, - [BreakdownReportKey.entryPages]: { - dimensions: ['visit:entry_page'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultDetailedMetrics: [ - 'visitors', - 'percentage', - 'visits', - 'bounce_rate', - 'visit_duration' - ], - defaultCsvMetrics: ['visitors', 'visits', 'bounce_rate', 'visit_duration'] - }), - detailsTitle: 'Entry pages', - detailsPath: 'entry-pages', - dimensionLabel: 'Entry page', - alwaysOnFilters: [['is_not', 'visit:entry_page', ['']]] - }, - [BreakdownReportKey.entryPagesWithHostname]: { - dimensions: ['visit:entry_page_hostname', 'visit:entry_page'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultDetailedMetrics: [ - 'visitors', - 'percentage', - 'visits', - 'bounce_rate', - 'visit_duration' - ], - defaultCsvMetrics: ['visitors', 'visits', 'bounce_rate', 'visit_duration'] - }), - detailsTitle: 'Entry pages', - detailsPath: 'entry-pages-with-hostname', - dimensionLabel: 'URL', - alwaysOnFilters: [['is_not', 'visit:entry_page', ['']]], - searchDimension: 'visit:entry_page' - }, - [BreakdownReportKey.exitPages]: { - dimensions: ['visit:exit_page'], - getMetrics: (ctx) => { - const base = chooseMetrics( - { - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultDetailedMetrics: [ - 'visitors', - 'percentage', - 'visits', - 'exit_rate' - ], - defaultCsvMetrics: ['visitors', 'visits', 'exit_rate'] - }, - ctx - ) - - return ctx.hasEventFilters ? base.filter((m) => m !== 'exit_rate') : base - }, - detailsTitle: 'Exit pages', - detailsPath: 'exit-pages', - dimensionLabel: 'Exit page', - alwaysOnFilters: [['is_not', 'visit:exit_page', ['']]] - }, - [BreakdownReportKey.exitPagesWithHostname]: { - dimensions: ['visit:exit_page_hostname', 'visit:exit_page'], - getMetrics: (ctx) => { - const base = chooseMetrics( - { - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultDetailedMetrics: [ - 'visitors', - 'percentage', - 'visits', - 'exit_rate' - ], - defaultCsvMetrics: ['visitors', 'visits', 'exit_rate'] - }, - ctx - ) - - return ctx.hasEventFilters ? base.filter((m) => m !== 'exit_rate') : base - }, - detailsTitle: 'Exit pages', - detailsPath: 'exit-pages-with-hostname', - dimensionLabel: 'URL', - alwaysOnFilters: [['is_not', 'visit:exit_page', ['']]], - searchDimension: 'visit:exit_page' - }, - [BreakdownReportKey.browsers]: { - dimensions: ['visit:browser'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultCsvMetrics: ['visitors'] - }), - detailsTitle: 'Browsers', - detailsPath: 'browsers', - dimensionLabel: 'Browser' - }, - [BreakdownReportKey.browserVersions]: { - dimensions: ['visit:browser_version', 'visit:browser'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultCsvMetrics: ['visitors'] - }), - detailsTitle: 'Browser versions', - detailsPath: 'browser-versions', - dimensionLabel: 'Browser version' - }, - [BreakdownReportKey.operatingSystems]: { - dimensions: ['visit:os'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultCsvMetrics: ['visitors'] - }), - detailsTitle: 'Operating systems', - detailsPath: 'operating-systems', - dimensionLabel: 'Operating system' - }, - [BreakdownReportKey.operatingSystemVersions]: { - dimensions: ['visit:os_version', 'visit:os'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultCsvMetrics: ['visitors'] - }), - detailsTitle: 'Operating system versions', - detailsPath: 'operating-system-versions', - dimensionLabel: 'Operating system version' - }, - [BreakdownReportKey.screenSizes]: { - dimensions: ['visit:device'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultCsvMetrics: ['visitors'] - }), - detailsTitle: 'Devices', - detailsPath: 'screen-sizes', - dimensionLabel: 'Device' - }, - [BreakdownReportKey.channels]: { - dimensions: ['visit:channel'], - getMetrics: createGetMetricsFn(COMMON_BREAKDOWN_METRICS_BY_CONTEXT), - detailsTitle: 'Acquisition channels', - detailsPath: 'channels', - dimensionLabel: 'Channel' - }, - [BreakdownReportKey.sources]: { - dimensions: ['visit:source'], - getMetrics: createGetMetricsFn(COMMON_BREAKDOWN_METRICS_BY_CONTEXT), - detailsTitle: 'Sources', - detailsPath: 'sources', - dimensionLabel: 'Source' - }, - [BreakdownReportKey.referrers]: { - dimensions: ['visit:referrer'], - getMetrics: createGetMetricsFn(COMMON_BREAKDOWN_METRICS_BY_CONTEXT), - detailsTitle: 'Referrer drilldown', - detailsPath: 'referrers/:referrer', - dimensionLabel: 'Referrer' - }, - [BreakdownReportKey.utmMediums]: { - dimensions: ['visit:utm_medium'], - getMetrics: createGetMetricsFn(COMMON_BREAKDOWN_METRICS_BY_CONTEXT), - detailsTitle: 'UTM mediums', - detailsPath: 'utm_mediums', - dimensionLabel: 'UTM medium', - alwaysOnFilters: [['is_not', 'visit:utm_medium', ['']]] - }, - [BreakdownReportKey.utmSources]: { - dimensions: ['visit:utm_source'], - getMetrics: createGetMetricsFn(COMMON_BREAKDOWN_METRICS_BY_CONTEXT), - detailsTitle: 'UTM sources', - detailsPath: 'utm_sources', - dimensionLabel: 'UTM source', - alwaysOnFilters: [['is_not', 'visit:utm_source', ['']]] - }, - [BreakdownReportKey.utmCampaigns]: { - dimensions: ['visit:utm_campaign'], - getMetrics: createGetMetricsFn(COMMON_BREAKDOWN_METRICS_BY_CONTEXT), - detailsTitle: 'UTM campaigns', - detailsPath: 'utm_campaigns', - dimensionLabel: 'UTM campaign', - alwaysOnFilters: [['is_not', 'visit:utm_campaign', ['']]] - }, - [BreakdownReportKey.utmContents]: { - dimensions: ['visit:utm_content'], - getMetrics: createGetMetricsFn(COMMON_BREAKDOWN_METRICS_BY_CONTEXT), - detailsTitle: 'UTM contents', - detailsPath: 'utm_contents', - dimensionLabel: 'UTM content', - alwaysOnFilters: [['is_not', 'visit:utm_content', ['']]] - }, - [BreakdownReportKey.utmTerms]: { - dimensions: ['visit:utm_term'], - getMetrics: createGetMetricsFn(COMMON_BREAKDOWN_METRICS_BY_CONTEXT), - detailsTitle: 'UTM terms', - detailsPath: 'utm_terms', - dimensionLabel: 'UTM term', - alwaysOnFilters: [['is_not', 'visit:utm_term', ['']]] - }, - [BreakdownReportKey.countries]: { - dimensions: ['visit:country_name', 'visit:country'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultCsvMetrics: ['visitors'] - }), - detailsTitle: 'Countries', - detailsPath: 'countries', - dimensionLabel: 'Country', - alwaysOnFilters: [['is_not', 'visit:country', ['\0\0', 'ZZ']]] - }, - [BreakdownReportKey.regions]: { - // the 3rd dimension "visit:country" is needed to render the country flag - dimensions: ['visit:region_name', 'visit:region', 'visit:country'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultCsvMetrics: ['visitors'] - }), - detailsTitle: 'Regions', - detailsPath: 'regions', - dimensionLabel: 'Region', - alwaysOnFilters: [['is_not', 'visit:region', ['']]] - }, - [BreakdownReportKey.cities]: { - // the 3rd dimension "visit:country" is needed to render the country flag - dimensions: ['visit:city_name', 'visit:city', 'visit:country'], - getMetrics: createGetMetricsFn({ - ...COMMON_BREAKDOWN_METRICS_BY_CONTEXT, - defaultCsvMetrics: ['visitors'] - }), - detailsTitle: 'Cities', - detailsPath: 'cities', - dimensionLabel: 'City', - alwaysOnFilters: [['is_not', 'visit:city', [0]]] - }, - [BreakdownReportKey.goals]: { - dimensions: ['event:goal'], - getMetrics: (ctx: MetricContext) => { - if (ctx.isCsv) { - return ['visitors', 'events'] - } - if (ctx.isRevenueAvailable) { - return [ - 'visitors', - 'events', - 'conversion_rate', - 'total_revenue', - 'average_revenue' - ] - } - return ['visitors', 'events', 'conversion_rate'] - }, - detailsTitle: 'Goal conversions', - detailsPath: 'conversions', - dimensionLabel: 'Goal' - } -} - -export function customPropsReportConfig( - propKey: string -): BreakdownReportConfig { - return { - dimensions: [`event:props:${propKey}` as NonTimeDimension], - getMetrics: getCustomPropsMetrics, - detailsTitle: 'Custom property breakdown', - detailsPath: `custom-prop-values/${propKey}`, - dimensionLabel: propKey - } -} - -export function getCustomPropsMetrics(ctx: MetricContext): Metric[] { - if (ctx.hasConversionGoalFilter && ctx.isRevenueAvailable) { - return [ - 'visitors', - 'events', - 'conversion_rate', - 'total_revenue', - 'average_revenue' - ] - } - if (ctx.hasConversionGoalFilter) { - return ['visitors', 'events', 'conversion_rate'] - } - return ['visitors', 'events', 'percentage'] -} diff --git a/assets/js/dashboard/stats/sources/details.tsx b/assets/js/dashboard/stats/sources/details.tsx deleted file mode 100644 index 741e9d3cdbf6fada832e1b0a276c5a8b44ca1bb9..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/sources/details.tsx +++ /dev/null @@ -1,123 +0,0 @@ -import React from 'react' -import { revenueAvailable } from '../../dashboard-state' -import { useDashboardStateContext } from '../../dashboard-state-context' -import { useSiteContext } from '../../site-context' -import { - hasConversionGoalFilter, - isRealTimeDashboard -} from '../../util/filters' -import { defaultGetFilterInfo, getReferrerUrlFilterInfo } from '../breakdowns' -import { - BREAKDOWN_REPORTS, - BreakdownReportKey -} from '../reports/reports-config' -import { - DetailsBreakdown, - DimensionCell, - DimensionCellProps -} from '../modals/details-breakdown' -import Modal from '../modals/modal' -import { SourceFavicon } from './source-favicon' -import { DIRECT_NONE } from '.' -import { DetailsExternalLink } from '../pages/external-link' - -type SourcesReportKey = - | BreakdownReportKey.channels - | BreakdownReportKey.sources - | BreakdownReportKey.referrers - | BreakdownReportKey.utmMediums - | BreakdownReportKey.utmSources - | BreakdownReportKey.utmCampaigns - | BreakdownReportKey.utmContents - | BreakdownReportKey.utmTerms - -export function SourcesDetails({ reportKey }: { reportKey: SourcesReportKey }) { - const { dashboardState } = useDashboardStateContext() - const site = useSiteContext() - - const reportConfig = BREAKDOWN_REPORTS[reportKey] - - /*global BUILD_EXTRA*/ - const isRevenueAvailable = - BUILD_EXTRA && revenueAvailable(dashboardState, site) - - const metrics = reportConfig.getMetrics({ - hasConversionGoalFilter: hasConversionGoalFilter(dashboardState), - isRealtime: isRealTimeDashboard(dashboardState), - isDetailed: true, - isRevenueAvailable: isRevenueAvailable - }) - - const DimensionElement = - reportKey === BreakdownReportKey.sources - ? SourcesDimensionCell - : reportKey === BreakdownReportKey.referrers - ? ReferrerUrlDimensionCell - : SimpleDimensionCell - - return ( - - - - ) -} - -const SourcesDimensionCell = (props: DimensionCellProps) => { - return ( - - } - text={props.row.dimensions[0]} - getFilterInfo={defaultGetFilterInfo} - {...props} - /> - ) -} - -const ReferrerUrlDimensionCell = (props: DimensionCellProps) => { - const dimensionValue = props.row.dimensions[0] - - const externalUrl = - dimensionValue === DIRECT_NONE ? null : `https://${dimensionValue}` - - return ( - - } - externalLink={ - externalUrl && ( - - ) - } - getFilterInfo={getReferrerUrlFilterInfo} - {...props} - /> - ) -} - -const SimpleDimensionCell = (props: DimensionCellProps) => { - return ( - - ) -} diff --git a/assets/js/dashboard/stats/sources/fetch-search-terms.tsx b/assets/js/dashboard/stats/sources/fetch-search-terms.tsx deleted file mode 100644 index 700ca1debcd93afa9ca4598a335296396339923e..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/sources/fetch-search-terms.tsx +++ /dev/null @@ -1,133 +0,0 @@ -import { InfiniteData, useInfiniteQuery, useQuery } from '@tanstack/react-query' -import { useDashboardStateContext } from '../../dashboard-state-context' -import { useSiteContext } from '../../site-context' -import { DashboardState } from '../../dashboard-state' -import * as api from '../../api' -import { ApiError } from '../../api' -import * as url from '../../util/url' -import { getStaleTime, PAGINATION_LIMIT } from '../../hooks/api-client' - -const INDEX_SEARCH_TERMS_REPORT_ID = 'index-search-terms' -const DETAILED_SEARCH_TERMS_REPORT_ID = 'detailed-search-terms' -const SEARCH_TERMS_ENDPOINT = '/google-search-terms' - -export const GOOGLE_SEARCH_TERMS_DETAILS_PATH = 'referrers/Google' - -type IndexSearchTermsQueryKey = [ - typeof INDEX_SEARCH_TERMS_REPORT_ID, - { dashboardState: DashboardState } -] - -type DetailedSearchTermsQueryKey = [ - typeof DETAILED_SEARCH_TERMS_REPORT_ID, - { dashboardState: DashboardState; search?: string } -] - -export type SearchTermsResultItem = { - name: string - position: number - visitors: number - ctr: number - impressions: number -} -export type SearchTermsSuccessResponse = { - results: SearchTermsResultItem[] -} - -export type SearchTermsErrorCode = - | 'not_configured' - | 'unsupported_filters' - | 'period_too_recent' -export type SearchTermsErrorPayload = { - error_code: SearchTermsErrorCode - is_admin: boolean -} - -export function useIndexGoogleSearchTermsQuery({ - enabled -}: { - enabled: boolean -}) { - const site = useSiteContext() - const { dashboardState } = useDashboardStateContext() - - const searchTermsQueryKey: IndexSearchTermsQueryKey = [ - INDEX_SEARCH_TERMS_REPORT_ID, - { dashboardState } - ] - - return useQuery< - SearchTermsSuccessResponse, - ApiError, - SearchTermsSuccessResponse, - IndexSearchTermsQueryKey - >({ - queryKey: searchTermsQueryKey, - enabled: enabled, - retry: false, - queryFn: ({ queryKey }) => { - return api.get( - url.apiPath(site, SEARCH_TERMS_ENDPOINT), - queryKey[1].dashboardState - ) - }, - placeholderData: (previousData) => previousData, - staleTime: ({ queryKey }) => { - return getStaleTime({ - siteTimezoneOffset: site.offset, - siteStatsBegin: site.statsBegin, - ...queryKey[1].dashboardState - }) - } - }) -} - -export function useDetailedGoogleSearchTermsQuery({ - search -}: { - search?: string -}) { - const site = useSiteContext() - const { dashboardState } = useDashboardStateContext() - - const searchTermsQueryKey: DetailedSearchTermsQueryKey = [ - DETAILED_SEARCH_TERMS_REPORT_ID, - { dashboardState, search } - ] - - return useInfiniteQuery< - SearchTermsSuccessResponse, - ApiError, - InfiniteData, - DetailedSearchTermsQueryKey, - number - >({ - queryKey: searchTermsQueryKey, - retry: false, - queryFn: ({ pageParam, queryKey }) => { - const { dashboardState, search } = queryKey[1] - - return api.get(url.apiPath(site, SEARCH_TERMS_ENDPOINT), dashboardState, { - detailed: true, - search: search, - limit: PAGINATION_LIMIT, - page: pageParam - }) - }, - placeholderData: (previousData) => previousData, - getNextPageParam: (lastPageResults, _, lastPageIndex) => { - return lastPageResults.results.length === PAGINATION_LIMIT - ? lastPageIndex + 1 - : null - }, - initialPageParam: 0, - staleTime: ({ queryKey }) => { - const [_, opts] = queryKey - return getStaleTime({ - siteTimezoneOffset: site.offset, - siteStatsBegin: site.statsBegin, - ...opts.dashboardState - }) - } - }) -} diff --git a/assets/js/dashboard/stats/sources/index.tsx b/assets/js/dashboard/stats/sources/index.tsx deleted file mode 100644 index c1c849b16b105596005673f6fdec7afa5ae2eb22..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/sources/index.tsx +++ /dev/null @@ -1,360 +0,0 @@ -import React, { useCallback, useEffect, useState } from 'react' - -import * as storage from '../../util/storage' -import * as url from '../../util/url' -import * as api from '../../api' -import usePrevious from '../../hooks/use-previous' -import { - getFiltersByKeyPrefix, - hasConversionGoalFilter, - isFilteringOnFixedValue, - isRealTimeDashboard -} from '../../util/filters' -import { useDashboardStateContext } from '../../dashboard-state-context' -import { useSiteContext } from '../../site-context' -import { SourceFavicon } from './source-favicon' -import { ReportLayout } from '../reports/report-layout' -import { ReportHeader } from '../reports/report-header' -import { DropdownTabButton, TabButton, TabWrapper } from '../../components/tabs' -import MoreLink from '../more-link' -import { MoreLinkState } from '../more-link-state' -import { DashboardState } from '../../dashboard-state' -import { - BREAKDOWN_REPORTS, - BreakdownReportKey -} from '../reports/reports-config' -import { - DimensionCellWithBar, - DimensionCellWithBarProps, - IndexBreakdown -} from '../reports/index-breakdown' -import { defaultGetFilterInfo } from '../breakdowns' -import ImportedWarningBubble from '../imported-warning-bubble' -import { IndexExternalLink } from '../pages/external-link' -import { SearchTerms } from './search-terms' -import { - GOOGLE_SEARCH_TERMS_DETAILS_PATH, - SearchTermsSuccessResponse -} from './fetch-search-terms' - -const BAR_COLOR = 'bg-blue-50 group-hover/row:bg-blue-100' -const MAX_DIMENSION_LENGTH = 70 -const SEARCH_TERMS_KEY = 'searchTerms' -export const DIRECT_NONE = 'Direct / None' - -const UTM_TAB_KEYS = [ - BreakdownReportKey.utmMediums, - BreakdownReportKey.utmSources, - BreakdownReportKey.utmCampaigns, - BreakdownReportKey.utmContents, - BreakdownReportKey.utmTerms -] as const - -type TabKey = - | BreakdownReportKey.channels - | BreakdownReportKey.sources - | (typeof UTM_TAB_KEYS)[number] - -type ReportKey = TabKey | BreakdownReportKey.referrers | typeof SEARCH_TERMS_KEY - -const isGoogleSourceFilter = (dashboardState: DashboardState) => { - return isFilteringOnFixedValue(dashboardState, 'source', 'Google') -} - -const isFixedSourceFilter = (dashboardState: DashboardState) => { - return isFilteringOnFixedValue(dashboardState, 'source') -} - -const getFixedSourceFilterClause = (dashboardState: DashboardState) => { - if (isFixedSourceFilter(dashboardState)) { - const [[_operation, _filterKey, clauses]] = getFiltersByKeyPrefix( - dashboardState, - 'source' - ) - - return clauses[0] - } - return null -} - -const getCurrentReportKey = ( - currentTab: TabKey, - dashboardState: DashboardState -): ReportKey => { - if ( - currentTab === BreakdownReportKey.sources && - isGoogleSourceFilter(dashboardState) - ) { - return SEARCH_TERMS_KEY - } - if ( - currentTab === BreakdownReportKey.sources && - isFixedSourceFilter(dashboardState) - ) { - return BreakdownReportKey.referrers - } - return currentTab -} - -function initTab(storedMode: string): TabKey { - if (['channels', BreakdownReportKey.channels].includes(storedMode)) { - return BreakdownReportKey.channels - } - if (['utm_mediums', BreakdownReportKey.utmMediums].includes(storedMode)) { - return BreakdownReportKey.utmMediums - } - if (['utm_sources', BreakdownReportKey.utmSources].includes(storedMode)) { - return BreakdownReportKey.utmSources - } - if (['utm_campaigns', BreakdownReportKey.utmCampaigns].includes(storedMode)) { - return BreakdownReportKey.utmCampaigns - } - if (['utm_contents', BreakdownReportKey.utmContents].includes(storedMode)) { - return BreakdownReportKey.utmContents - } - if (['utm_terms', BreakdownReportKey.utmTerms].includes(storedMode)) { - return BreakdownReportKey.utmTerms - } - return BreakdownReportKey.sources -} - -function isUtmTab(tabKey: TabKey) { - return (UTM_TAB_KEYS as ReadonlyArray).includes(tabKey) -} - -export default function Sources() { - const site = useSiteContext() - const { dashboardState } = useDashboardStateContext() - const tabStorageKey = 'sourceTab__' + site.domain - const [currentTab, setTab] = useState( - initTab(storage.getItem(tabStorageKey)) - ) - const [currentQueryApiData, setCurrentQueryApiData] = - useState(null) - const [currentSearchTermsData, setCurrentSearchTermsData] = - useState(null) - - const previousDashboardState = usePrevious(dashboardState) - - const currentReportKey = getCurrentReportKey(currentTab, dashboardState) - - const setAndStoreTab = useCallback( - (tab: TabKey) => { - storage.setItem(tabStorageKey, tab) - setTab(tab) - }, - [tabStorageKey] - ) - - function moreLinkProps() { - if (currentReportKey === SEARCH_TERMS_KEY) { - return { - path: GOOGLE_SEARCH_TERMS_DETAILS_PATH, - search: (search: string) => search - } - } - if (currentReportKey === BreakdownReportKey.referrers) { - return { - path: BREAKDOWN_REPORTS[currentReportKey].detailsPath, - params: { - referrer: url.maybeEncodeRouteParam( - getFixedSourceFilterClause(dashboardState) - ) - }, - search: (search: string) => search - } - } - return { - path: BREAKDOWN_REPORTS[currentReportKey].detailsPath, - search: (search: string) => search - } - } - - const ChannelsDimensionCell = useCallback( - (props: DimensionCellWithBarProps) => ( - setAndStoreTab(BreakdownReportKey.sources)} - barClassName={BAR_COLOR} - getFilterInfo={defaultGetFilterInfo} - {...props} - /> - ), - [setAndStoreTab] - ) - - function renderContent() { - if (currentReportKey === SEARCH_TERMS_KEY) { - return - } - - const reportConfig = BREAKDOWN_REPORTS[currentReportKey] - - const metrics = reportConfig.getMetrics({ - isRealtime: isRealTimeDashboard(dashboardState), - hasConversionGoalFilter: hasConversionGoalFilter(dashboardState) - }) - - const DimensionElement = { - [BreakdownReportKey.channels]: ChannelsDimensionCell, - [BreakdownReportKey.sources]: SourcesDimensionCell, - [BreakdownReportKey.referrers]: ReferrerUrlDimensionCell, - [BreakdownReportKey.utmMediums]: UtmDimensionCell, - [BreakdownReportKey.utmSources]: UtmDimensionCell, - [BreakdownReportKey.utmCampaigns]: UtmDimensionCell, - [BreakdownReportKey.utmContents]: UtmDimensionCell, - [BreakdownReportKey.utmTerms]: UtmDimensionCell - }[currentReportKey] - - return ( - - ) - } - - const activeData = - currentReportKey === SEARCH_TERMS_KEY - ? currentSearchTermsData - : currentQueryApiData - - const moreLinkState = activeData - ? activeData.results.length > 0 - ? MoreLinkState.READY - : MoreLinkState.HIDDEN - : MoreLinkState.LOADING - - useEffect(() => { - const isRemovingFilter = (filterName: string) => { - if (!previousDashboardState) return false - - return ( - getFiltersByKeyPrefix(previousDashboardState, filterName).length > 0 && - getFiltersByKeyPrefix(dashboardState, filterName).length == 0 - ) - } - - if ( - currentTab == BreakdownReportKey.sources && - isRemovingFilter('channel') - ) { - setAndStoreTab(BreakdownReportKey.channels) - } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [dashboardState, currentTab]) - - function sourceTabLabel() { - if (isGoogleSourceFilter(dashboardState)) { - return 'Search terms' - } else if (isFixedSourceFilter(dashboardState)) { - return 'Top referrers' - } else { - return 'Sources' - } - } - - return ( - - -
- - {[ - { value: BreakdownReportKey.channels, label: 'Channels' }, - { value: BreakdownReportKey.sources, label: sourceTabLabel() } - ].map(({ value, label }) => ( - setAndStoreTab(value as TabKey)} - active={currentTab === value} - > - {label} - - ))} - ({ - label: BREAKDOWN_REPORTS[utmTabKey].detailsTitle, - onClick: () => setAndStoreTab(utmTabKey), - selected: currentTab === utmTabKey - }))} - > - {isUtmTab(currentTab) - ? BREAKDOWN_REPORTS[currentTab].detailsTitle - : 'Campaigns'} - - - {currentReportKey !== SEARCH_TERMS_KEY && ( - - )} -
- -
- {renderContent()} -
- ) -} - -function UtmDimensionCell(props: DimensionCellWithBarProps) { - const displayValue = url.trimURL( - props.row.dimensions[0], - MAX_DIMENSION_LENGTH - ) - return ( - - ) -} - -function SourcesDimensionCell(props: DimensionCellWithBarProps) { - const displayValue = url.trimURL( - props.row.dimensions[0], - MAX_DIMENSION_LENGTH - ) - - return ( - - } - barClassName={BAR_COLOR} - getFilterInfo={defaultGetFilterInfo} - {...props} - /> - ) -} - -function ReferrerUrlDimensionCell(props: DimensionCellWithBarProps) { - const dimensionValue = props.row.dimensions[0] - const displayValue = url.trimURL(dimensionValue, MAX_DIMENSION_LENGTH) - - const externalUrl = - dimensionValue === DIRECT_NONE ? null : `https://${dimensionValue}` - - return ( - } - externalLink={ - externalUrl && ( - - ) - } - barClassName={BAR_COLOR} - getFilterInfo={defaultGetFilterInfo} - {...props} - /> - ) -} diff --git a/assets/js/dashboard/stats/sources/search-terms.tsx b/assets/js/dashboard/stats/sources/search-terms.tsx deleted file mode 100644 index a277690abc29511acf00db7da80a3c45b6337c84..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/sources/search-terms.tsx +++ /dev/null @@ -1,151 +0,0 @@ -import React, { useEffect, useMemo } from 'react' -import { numberShortFormatter } from '../../util/number-formatter' -import RocketIcon from '../modals/rocket-icon' -import LazyLoader from '../../components/lazy-loader' -import { PlausibleSite, useSiteContext } from '../../site-context' -import { - SearchTermsErrorCode, - SearchTermsErrorPayload, - SearchTermsResultItem, - SearchTermsSuccessResponse, - useIndexGoogleSearchTermsQuery -} from './fetch-search-terms' -import { - Bar, - DEFAULT_METRIC_COLUMN_WIDTH, - IndexBreakdownRenderer -} from '../reports/index-breakdown' -import { ColumnConfiguration, MetricValueWrapper } from '../breakdowns' - -function ErrorMessage({ code }: { code: SearchTermsErrorCode }): JSX.Element { - if (code === 'not_configured') { - return
The site is not connected to Google Search Keywords
- } else if (code === 'unsupported_filters') { - return ( -
- Unable to fetch keyword data from Search Console because it does not - support the current set of filters -
- ) - } else if (code === 'period_too_recent') { - return ( -
- No search terms were found for this period. Please adjust or extend your - time range. Check{' '} - - our documentation - {' '} - for more details. -
- ) - } else { - return
Unable to fetch keyword data from Search Console
- } -} - -function ConfigureSearchTermsCTA({ - site -}: { - site: PlausibleSite -}): JSX.Element { - return ( - <> -
Configure the integration to view search terms
- - Connect with Google - - - ) -} - -export function SearchTerms({ - onDataReady -}: { - onDataReady: (data: SearchTermsSuccessResponse) => void -}) { - const site = useSiteContext() - - const [visible, setVisible] = React.useState(false) - - const apiState = useIndexGoogleSearchTermsQuery({ enabled: visible }) - - useEffect(() => { - if (apiState.data) { - onDataReady(apiState.data) - } - }, [apiState.data, onDataReady]) - - const barMaxValue = useMemo(() => { - if (!apiState.data) return null - return Math.max(...apiState.data.results.map((item) => item.visitors)) - }, [apiState.data]) - - const columns = useMemo((): - | ColumnConfiguration[] - | null => { - if (barMaxValue === null) { - return null - } - - return [ - { - key: 'dimension', - renderLabel: () => 'Search term', - renderCell: (item, _isActive) => ( - - {item.name} - - ), - align: 'left' - }, - { - key: 'visitors', - renderLabel: () => 'Visitors', - renderCell: (item, _isActive) => ( - - {numberShortFormatter(item.visitors)} - - ), - width: DEFAULT_METRIC_COLUMN_WIDTH, - align: 'right' - } - ] - }, [barMaxValue]) - - if (apiState.error) { - const { is_admin, error_code } = apiState.error - .payload as SearchTermsErrorPayload - - return ( -
- - - {error_code === 'not_configured' && is_admin && ( - - )} -
- ) - } - return ( - setVisible(true)}> - - {...apiState} - rows={apiState.data?.results ?? []} - getDimensionValue={(row) => row.name} - isRealtimeSilentUpdate={false} - columns={columns} - /> - - ) -} diff --git a/assets/js/dashboard/stats/sources/source-favicon.tsx b/assets/js/dashboard/stats/sources/source-favicon.tsx deleted file mode 100644 index 9c0bdd0082936bf9cace0189ee0a687af4b42260..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/stats/sources/source-favicon.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import React from 'react' -import classNames from 'classnames' - -interface SourceFaviconProps { - name: string - className?: string -} - -export const SourceFavicon = ({ name, className }: SourceFaviconProps) => { - const sourceName = name.toLowerCase() - const needsWhiteBg = - sourceName.includes('github') || sourceName.includes('chatgpt.com') - - return ( - - ) -} diff --git a/assets/js/dashboard/theme-context.tsx b/assets/js/dashboard/theme-context.tsx deleted file mode 100644 index 41cfe816d3b7e4b8b1c21635d6bb357101725fe9..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/theme-context.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import React, { - createContext, - ReactNode, - useContext, - useLayoutEffect, - useRef, - useState -} from 'react' - -export enum UIMode { - light = 'light', - dark = 'dark' -} - -const defaultValue = { mode: UIMode.light } - -const ThemeContext = createContext(defaultValue) - -function parseUIMode(element: Element | null): UIMode { - return element?.classList.contains('dark') ? UIMode.dark : UIMode.light -} - -export default function ThemeContextProvider({ - children -}: { - children: ReactNode -}) { - const observerRef = useRef(null) - const [mode, setMode] = useState( - parseUIMode(document.querySelector('html')) - ) - useLayoutEffect(() => { - const htmlElement = document.querySelector('html') - const currentObserver = observerRef.current - if (htmlElement && !currentObserver) { - const observer = new MutationObserver((mutations) => { - mutations.forEach((mutation) => { - if ( - mutation.type === 'attributes' && - mutation.attributeName === 'class' - ) { - return setMode(parseUIMode(mutation.target as Element)) - } - }) - }) - observerRef.current = observer - observer.observe(htmlElement, { - attributes: true, - attributeFilter: ['class'] - }) - } - return () => currentObserver?.disconnect() - }, []) - return ( - {children} - ) -} - -export function useTheme() { - return useContext(ThemeContext) -} diff --git a/assets/js/dashboard/user-context.tsx b/assets/js/dashboard/user-context.tsx deleted file mode 100644 index e178136175bbdae3abf88e47674ab4537709e170..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/user-context.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import React, { createContext, ReactNode, useContext } from 'react' - -export enum Role { - owner = 'owner', - admin = 'admin', - viewer = 'viewer', - editor = 'editor', - public = 'public', - billing = 'billing' -} - -const userContextDefaultValue = { - loggedIn: false, - id: null, - role: Role.public, - team: { - identifier: null, - hasConsolidatedView: false - } -} as - | { - loggedIn: false - id: null - role: Role - team: { identifier: null; hasConsolidatedView: false } - } - | { - loggedIn: true - id: number - role: Role - team: { identifier: string | null; hasConsolidatedView: boolean } - } - -export type UserContextValue = typeof userContextDefaultValue - -const UserContext = createContext(userContextDefaultValue) - -export const useUserContext = () => { - return useContext(UserContext) -} - -export default function UserContextProvider({ - user, - children -}: { - user: UserContextValue - children: ReactNode -}) { - return {children} -} diff --git a/assets/js/dashboard/util/date.js b/assets/js/dashboard/util/date.js deleted file mode 100644 index 30bde2ea52e5b5cecfb7c2104e6cf6ce0e19aca5..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/date.js +++ /dev/null @@ -1,169 +0,0 @@ -import dayjs from 'dayjs' -import utc from 'dayjs/plugin/utc' -import updateLocale from 'dayjs/plugin/updateLocale' - -dayjs.extend(utc) -dayjs.extend(updateLocale) -// The locale 'en' is the default (and the only one currently), -// but its start of week is Sunday. -// This change that the week starts on Monday unifies behavior -// between start of week according to the backend -// and start of week according to the frontend. -dayjs.updateLocale('en', { - weekStart: 1 -}) - -const browserDateFormat = Intl.DateTimeFormat(navigator.language, { - hour: 'numeric' -}) - -export function is12HourClock() { - return browserDateFormat.resolvedOptions().hour12 -} - -// https://stackoverflow.com/a/50130338 -export function formatISO(date) { - return date.format('YYYY-MM-DD') -} - -export function shiftMonths(date, months) { - return date.add(months, 'months') -} - -export function shiftDays(date, days) { - return date.add(days, 'days') -} - -export function formatMonthYYYY(date) { - return date.format('MMMM YYYY') -} - -export function formatYear(date) { - return `Year of ${date.year()}` -} - -export function formatYearShort(date) { - return date.getUTCFullYear().toString().substring(2) -} - -export function formatDay(date, includeYear = false) { - if (includeYear) { - return date.format('ddd, DD MMM YYYY') - } else { - return date.format('ddd, DD MMM') - } -} - -export function formatTime(date, { use12HourClock, includeMinutes }) { - if (use12HourClock) { - return includeMinutes ? date.format('h:mma') : date.format('ha') - } - return date.format('HH:mm') -} - -export function formatDayShort(date, includeYear = false) { - if (includeYear) { - return date.format('D MMM YY') - } else { - return date.format('D MMM') - } -} - -export function formatDateRange(site, from, to) { - if (!from || !to) return - if (typeof from === 'string') from = parseUTCDate(from) - if (typeof to === 'string') to = parseUTCDate(to) - - if (from.isSame(to)) { - return formatDay(from) - } else if (from.isSame(to, 'year')) { - const includeYear = !isThisYear(site, from) - return `${formatDayShort(from, false)} - ${formatDayShort(to, includeYear)}` - } else { - return `${formatDayShort(from, true)} - ${formatDayShort(to, true)}` - } -} - -export function parseUTCDate(dateString) { - return dayjs.utc(dateString) -} - -export function parseNaiveDate(dateString) { - return dayjs(dateString) -} - -export function utcNow() { - return dayjs.utc() -} - -export function now(offset) { - return utcNow().utcOffset(offset / 60) -} - -export function yesterday(offset) { - return shiftDays(now(offset), -1) -} - -export function lastMonth(site) { - return shiftMonths(now(site.offset), -1) -} - -export function isSameDate(date1, date2) { - return formatISO(date1) === formatISO(date2) -} - -export function isSameMonth(date1, date2) { - return formatMonthYYYY(date1) === formatMonthYYYY(date2) -} - -export function isToday(site, date) { - return isSameDate(date, now(site.offset)) -} - -export function isTodayOrYesterday(isoDate) { - const isoToday = formatISO(dayjs()) - const isoYesterday = formatISO(dayjs().subtract(1, 'day')) - return isoDate === isoToday || isoDate === isoYesterday -} - -export function isThisMonth(site, date) { - return formatMonthYYYY(date) === formatMonthYYYY(now(site.offset)) -} - -export function isThisYear(site, date) { - return date.year() === now(site.offset).year() -} - -export function isBefore(date1, date2, period) { - /* assumes 'day' and 'month' are the only valid periods */ - if (date1.year() !== date2.year()) { - return date1.year() < date2.year() - } - if (period === 'year') { - return false - } - if (date1.month() !== date2.month()) { - return date1.month() < date2.month() - } - if (period === 'month') { - return false - } - return date1.date() < date2.date() -} - -export function isAfter(date1, date2, period) { - /* assumes 'day' and 'month' are the only valid periods */ - if (date1.year() !== date2.year()) { - return date1.year() > date2.year() - } - if (period === 'year') { - return false - } - if (date1.month() !== date2.month()) { - return date1.month() > date2.month() - } - if (period === 'month') { - return false - } - return date1.date() > date2.date() -} diff --git a/assets/js/dashboard/util/date.test.ts b/assets/js/dashboard/util/date.test.ts deleted file mode 100644 index e0e185161bedf67e3a2b2634359aa837b98d3383..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/date.test.ts +++ /dev/null @@ -1,210 +0,0 @@ -import { - formatDayShort, - formatTime, - formatMonthYYYY, - formatISO, - now, - parseNaiveDate, - parseUTCDate, - shiftMonths, - yesterday -} from './date' - -jest.useFakeTimers() - -describe(`${now.name} and ${formatISO.name}`, () => { - /* prettier-ignore */ - const cases = [ - [ 'Los Angeles/America', -3600 * 6, '2024-11-01T20:00:00.000Z', '2024-11-01' ], - [ 'Sydney/Australia', 3600 * 6, '2024-11-01T20:00:00.000Z', '2024-11-02' ] - ] - test.each(cases)( - 'in timezone of %s (offset %p) at %s, today is %s', - (_tz, offset, utcTime, expectedToday) => { - jest.setSystemTime(new Date(utcTime)) - expect(formatISO(now(offset))).toEqual(expectedToday) - } - ) -}) - -/* prettier-ignore */ -const dstChangeOverDayEstonia = [ -// system time today yesterday today-2mo today+2mo today-12mo offset - [ '2024-03-30T21:00:00.000Z', '2024-03-30', '2024-03-29', '2024-01-30', '2024-05-30', '2023-03-30', 7200 ], - [ '2024-03-30T22:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 7200 ], - [ '2024-03-30T23:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 7200 ], - [ '2024-03-31T00:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 7200 ], - [ '2024-03-31T01:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 10800 ], // <-- all European TZs change to DST at 1AM UTC - [ '2024-03-31T02:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 10800 ], - [ '2024-03-31T03:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 10800 ], - [ '2024-03-31T04:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 10800 ], - // ... - [ '2024-03-31T20:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 10800 ], - [ '2024-03-31T21:00:00.000Z', '2024-04-01', '2024-03-31', '2024-02-01', '2024-06-01', '2023-04-01', 10800 ], - [ '2024-03-31T22:00:00.000Z', '2024-04-01', '2024-03-31', '2024-02-01', '2024-06-01', '2023-04-01', 10800 ], - [ '2024-03-31T23:00:00.000Z', '2024-04-01', '2024-03-31', '2024-02-01', '2024-06-01', '2023-04-01', 10800 ] -] - -/* prettier-ignore */ -const dstChangeOverDayGermany = [ -// system time today yesterday today-2mo today+2mo today-12mo offset - [ '2024-03-30T21:00:00.000Z', '2024-03-30', '2024-03-29', '2024-01-30', '2024-05-30', '2023-03-30', 3600 ], - [ '2024-03-30T22:00:00.000Z', '2024-03-30', '2024-03-29', '2024-01-30', '2024-05-30', '2023-03-30', 3600 ], - [ '2024-03-30T23:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 3600 ], - [ '2024-03-31T00:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 3600 ], - [ '2024-03-31T01:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 7200 ], // <-- all European TZs change to DST at 1AM UTC - [ '2024-03-31T02:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 7200 ], - [ '2024-03-31T03:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 7200 ], - [ '2024-03-31T04:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 7200 ], - // ... - [ '2024-03-31T20:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 7200 ], - [ '2024-03-31T21:00:00.000Z', '2024-03-31', '2024-03-30', '2024-01-31', '2024-05-31', '2023-03-31', 7200 ], - [ '2024-03-31T22:00:00.000Z', '2024-04-01', '2024-03-31', '2024-02-01', '2024-06-01', '2023-04-01', 7200 ], - [ '2024-03-31T23:00:00.000Z', '2024-04-01', '2024-03-31', '2024-02-01', '2024-06-01', '2023-04-01', 7200 ] -] - -/* prettier-ignore */ -const dstChangeOverDayEgypt = [ -// system time today yesterday today-2mo today+2mo today-12mo offset - [ '2024-10-31T20:00:00.000Z', '2024-10-31', '2024-10-30', '2024-08-31', '2024-12-31', '2023-10-31', 10800 ], - [ '2024-10-31T20:59:59.999Z', '2024-10-31', '2024-10-30', '2024-08-31', '2024-12-31', '2023-10-31', 10800 ], // <-- changeover from DST is on Nov 1st 00:00 local time - [ '2024-10-31T21:00:00.000Z', '2024-10-31', '2024-10-30', '2024-08-31', '2024-12-31', '2023-10-31', 7200 ], - [ '2024-10-31T21:59:59.999Z', '2024-10-31', '2024-10-30', '2024-08-31', '2024-12-31', '2023-10-31', 7200 ], - [ '2024-10-31T22:00:00.000Z', '2024-11-01', '2024-10-31', '2024-09-01', '2025-01-01', '2023-11-01', 7200 ], -] - -const sets = [ - ['Europe/Tallinn', dstChangeOverDayEstonia], - ['Europe/Berlin', dstChangeOverDayGermany], - ['Africa/Cairo', dstChangeOverDayEgypt] -] as const - -for (const [timezone, suite] of sets) { - describe(`in timezone of ${timezone}, given the correct offset`, () => { - it.each(suite)( - 'at system time %s, today is %s and yesterday is %s', - ( - utcTime, - expectedToday, - expectedYesterday, - expectedTwoMonthsBack, - expectedTwoMonthsAhead, - expectedOneYearBack, - offset - ) => { - jest.setSystemTime(new Date(utcTime)) - expect({ - today: formatISO(now(offset)), - yesterday: formatISO(yesterday(offset)), - twoMonthsBack: formatISO(shiftMonths(now(offset), -2)), - twoMonthsAhead: formatISO(shiftMonths(now(offset), 2)), - oneYearBack: formatISO(shiftMonths(now(offset), -12)) - }).toEqual({ - today: expectedToday, - yesterday: expectedYesterday, - twoMonthsBack: expectedTwoMonthsBack, - twoMonthsAhead: expectedTwoMonthsAhead, - oneYearBack: expectedOneYearBack - }) - } - ) - }) -} - -it('startOf("week") returns a Monday', () => { - expect(formatISO(parseUTCDate('2026-07-02').startOf('week'))).toEqual( - '2026-06-29' // Monday - ) -}) - -describe('formatting site-timezoned datetimes from database works flawlessly', () => { - it('is able to enrich UTC date string with site timezone, formatting the value correctly', () => { - expect(formatDayShort(parseNaiveDate('2025-01-01 14:00:00'))).toEqual( - '1 Jan' - ) - }) -}) - -describe(formatMonthYYYY.name, () => { - it('formats a date as "Month YYYY"', () => { - expect(formatMonthYYYY(parseNaiveDate('2025-06-15'))).toEqual('June 2025') - }) - - it('formats January correctly', () => { - expect(formatMonthYYYY(parseNaiveDate('2024-01-01'))).toEqual( - 'January 2024' - ) - }) -}) - -describe(formatDayShort.name, () => { - it('formats without year by default', () => { - expect(formatDayShort(parseNaiveDate('2025-06-05'))).toEqual('5 Jun') - }) - - it('includes 2-digit year when requested', () => { - expect(formatDayShort(parseNaiveDate('2025-06-05'), true)).toEqual( - '5 Jun 25' - ) - }) -}) - -describe(formatTime.name, () => { - describe('12-hour clock', () => { - it('formats hour without minutes as ha', () => { - expect( - formatTime(parseNaiveDate('2025-06-15 14:00:00'), { - use12HourClock: true, - includeMinutes: false - }) - ).toEqual('2pm') - }) - - it('formats hour with minutes as h:mma', () => { - expect( - formatTime(parseNaiveDate('2025-06-15 14:30:00'), { - use12HourClock: true, - includeMinutes: true - }) - ).toEqual('2:30pm') - }) - - it('formats midnight correctly', () => { - expect( - formatTime(parseNaiveDate('2025-06-15 00:00:00'), { - use12HourClock: true, - includeMinutes: false - }) - ).toEqual('12am') - }) - }) - - describe('24-hour clock', () => { - it('formats hour without minutes as HH:mm (not HH format because that would look weird) ', () => { - expect( - formatTime(parseNaiveDate('2025-06-15 14:00:00'), { - use12HourClock: false, - includeMinutes: false - }) - ).toEqual('14:00') - }) - - it('formats hour with minutes as HH:mm', () => { - expect( - formatTime(parseNaiveDate('2025-06-15 14:30:00'), { - use12HourClock: false, - includeMinutes: true - }) - ).toEqual('14:30') - }) - - it('pads single-digit hours', () => { - expect( - formatTime(parseNaiveDate('2025-06-15 09:00:00'), { - use12HourClock: false, - includeMinutes: false - }) - ).toEqual('09:00') - }) - }) -}) diff --git a/assets/js/dashboard/util/fetch-suggestions.ts b/assets/js/dashboard/util/fetch-suggestions.ts deleted file mode 100644 index e42e624fdd9005fc0108f728e19ee4c0978e22ca..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/fetch-suggestions.ts +++ /dev/null @@ -1,35 +0,0 @@ -import * as api from '../api' -import { DashboardState, Filter } from '../dashboard-state' -import { replaceFilterByPrefix, omitFiltersByKeyPrefix } from './filters' - -export function fetchSuggestions( - apiPath: string, - dashboardState: DashboardState, - input: string, - additionalFilter?: Filter -) { - const updatedQuery = queryForSuggestions(dashboardState, additionalFilter) - return api.get(apiPath, updatedQuery, { q: input.trim() }) -} - -function queryForSuggestions( - dashboardState: DashboardState, - additionalFilter?: Filter -): DashboardState { - let filters = dashboardState.filters - if (additionalFilter) { - const [_operation, filterKey, clauses] = additionalFilter - - // For suggestions, we remove already-applied filter with same key from dashboardState and add new filter (if feasible) - if (clauses.length > 0) { - filters = replaceFilterByPrefix( - dashboardState, - filterKey, - additionalFilter - ) - } else { - filters = omitFiltersByKeyPrefix(dashboardState, filterKey) - } - } - return { ...dashboardState, filters } -} diff --git a/assets/js/dashboard/util/filter-text.test.tsx b/assets/js/dashboard/util/filter-text.test.tsx deleted file mode 100644 index 0e02d49dccbff6d12eb97cfea9c392fe5900e842..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/filter-text.test.tsx +++ /dev/null @@ -1,42 +0,0 @@ -import React from 'react' -import { Filter, FilterClauseLabels } from '../dashboard-state' -import { plainFilterText, styledFilterText } from './filter-text' -import { render, screen } from '@testing-library/react' - -describe('styledFilterText() and plainFilterText()', () => { - it.each<[Filter, FilterClauseLabels, string]>([ - [['is', 'page', ['/docs', '/blog']], {}, 'Page is /docs or /blog'], - [ - ['is', 'country', ['US']], - { US: 'United States' }, - 'Country is United States' - ], - [['is', 'goal', ['Signup']], {}, 'Goal is Signup'], - [ - ['is', 'props:browser_language', ['en-US']], - {}, - 'Property browser_language is en-US' - ], - [ - ['has_not_done', 'goal', ['Signup', 'Login']], - {}, - 'Goal is not Signup or Login' - ] - ])( - 'when filter is %p and labels are %p, functions return %p', - (filter, labels, expectedPlainText) => { - const dashboardState = { labels } - - expect(plainFilterText(dashboardState, filter)).toBe(expectedPlainText) - - render( -

- {styledFilterText(dashboardState, filter)} -

- ) - expect(screen.getByTestId('filter-text')).toHaveTextContent( - expectedPlainText - ) - } - ) -}) diff --git a/assets/js/dashboard/util/filter-text.tsx b/assets/js/dashboard/util/filter-text.tsx deleted file mode 100644 index 444adf0d51b971d17ba6d4bc32d02f1111c20594..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/filter-text.tsx +++ /dev/null @@ -1,78 +0,0 @@ -import React, { ReactNode, isValidElement, Fragment } from 'react' -import { DashboardState, Filter } from '../dashboard-state' -import { - EVENT_PROPS_PREFIX, - FILTER_OPERATIONS_DISPLAY_NAMES, - formattedFilters, - getLabel, - getPropertyKeyFromFilterKey -} from './filters' - -export function styledFilterText( - dashboardState: Pick, - [operation, filterKey, clauses]: Filter -) { - if (filterKey.startsWith(EVENT_PROPS_PREFIX)) { - const propKey = getPropertyKeyFromFilterKey(filterKey) - return ( - <> - Property {propKey} {FILTER_OPERATIONS_DISPLAY_NAMES[operation]}{' '} - {formatClauses(clauses)} - - ) - } - - const formattedFilter = ( - formattedFilters as Record - )[filterKey] - const clausesLabels = clauses.map((value) => - getLabel(dashboardState.labels, filterKey, value) - ) - - if (!formattedFilter) { - throw new Error(`Unknown filter: ${filterKey}`) - } - - return ( - <> - {capitalize(formattedFilter)} {FILTER_OPERATIONS_DISPLAY_NAMES[operation]}{' '} - {formatClauses(clausesLabels)} - - ) -} - -export function plainFilterText( - dashboardState: Pick, - filter: Filter -) { - return reactNodeToString(styledFilterText(dashboardState, filter)) -} - -function formatClauses(labels: Array): ReactNode[] { - return labels.map((label, index) => ( - - {index > 0 && ' or '} - {label} - - )) -} - -function capitalize(str: string): string { - return str[0].toUpperCase() + str.slice(1) -} - -function reactNodeToString(reactNode: ReactNode): string { - let string = '' - if (typeof reactNode === 'string') { - string = reactNode - } else if (typeof reactNode === 'number') { - string = reactNode.toString() - } else if (reactNode instanceof Array) { - reactNode.forEach(function (child) { - string += reactNodeToString(child) - }) - } else if (isValidElement(reactNode)) { - string += reactNodeToString(reactNode.props.children) - } - return string -} diff --git a/assets/js/dashboard/util/filters.js b/assets/js/dashboard/util/filters.js deleted file mode 100644 index dc5d72fada37d296c75240f582d810268cbdaa4f..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/filters.js +++ /dev/null @@ -1,311 +0,0 @@ -import { formatSegmentIdAsLabelKey } from '../filtering/segments' - -export const FILTER_MODAL_TO_FILTER_GROUP = { - page: ['page', 'entry_page', 'exit_page'], - source: ['source', 'channel', 'referrer'], - location: ['country', 'region', 'city'], - screen: ['screen'], - browser: ['browser', 'browser_version'], - os: ['os', 'os_version'], - utm: ['utm_medium', 'utm_source', 'utm_campaign', 'utm_term', 'utm_content'], - goal: ['goal'], - props: ['props'], - hostname: ['hostname'], - segment: ['segment'] -} - -export function getAvailableFilterModals(site) { - const { props, ...rest } = FILTER_MODAL_TO_FILTER_GROUP - return { - ...rest, - ...(site.propsAvailable && { props }) - } -} - -export const FILTER_GROUP_TO_MODAL_TYPE = Object.fromEntries( - Object.entries(FILTER_MODAL_TO_FILTER_GROUP).flatMap( - ([modalName, filterGroups]) => - filterGroups.map((filterGroup) => [filterGroup, modalName]) - ) -) - -export const EVENT_PROPS_PREFIX = 'props:' - -export const FILTER_OPERATIONS = { - is: 'is', - isNot: 'is_not', - contains: 'contains', - contains_not: 'contains_not', - has_not_done: 'has_not_done' -} - -export const FILTER_OPERATIONS_DISPLAY_NAMES = { - [FILTER_OPERATIONS.is]: 'is', - [FILTER_OPERATIONS.isNot]: 'is not', - [FILTER_OPERATIONS.contains]: 'contains', - [FILTER_OPERATIONS.contains_not]: 'does not contain', - // :NOTE: Goal filters are displayed as "is not" in the UI, but in the backend they are wrapped with has_not_done. - // It is currently unclear if we'll do the same for other event filters in the future. - [FILTER_OPERATIONS.has_not_done]: 'is not' -} - -export function supportsIsNot(filterName) { - return !['goal', 'prop_key'].includes(filterName) -} - -export function supportsContains(filterName) { - return !['screen'] - .concat(FILTER_MODAL_TO_FILTER_GROUP['location']) - .includes(filterName) -} - -export function supportsHasDoneNot(filterName) { - return filterName === 'goal' -} - -export function isFreeChoiceFilterOperation(operation) { - return [FILTER_OPERATIONS.contains, FILTER_OPERATIONS.contains_not].includes( - operation - ) -} - -export function getLabel(labels, filterKey, value) { - if (['country', 'region', 'city'].includes(filterKey)) { - return labels[value] - } - - if (filterKey === 'segment') { - return labels[formatSegmentIdAsLabelKey(value)] - } - - return value -} - -export function getPropertyKeyFromFilterKey(filterKey) { - return filterKey.slice(EVENT_PROPS_PREFIX.length) -} - -export function getFiltersByKeyPrefix(dashboardState, prefix) { - return dashboardState.filters.filter(hasDimensionPrefix(prefix)) -} - -const hasDimensionPrefix = - (prefix) => - ([_operation, dimension, _clauses]) => - dimension.startsWith(prefix) - -export function omitFiltersByKeyPrefix(dashboardState, prefix) { - return dashboardState.filters.filter( - ([_operation, filterKey, _clauses]) => !filterKey.startsWith(prefix) - ) -} - -export function replaceFilterByPrefix(dashboardState, prefix, filter) { - return omitFiltersByKeyPrefix(dashboardState, prefix).concat([filter]) -} - -export function isFilteringOnFixedValue( - dashboardState, - filterKey, - expectedValue -) { - const filters = dashboardState.filters.filter( - ([_operation, key]) => filterKey == key - ) - if (filters.length == 1) { - const [operation, _filterKey, clauses] = filters[0] - return ( - operation === FILTER_OPERATIONS.is && - clauses.length === 1 && - (!expectedValue || clauses[0] == expectedValue) - ) - } - return false -} - -export function hasPageFilter(dashboardState) { - return dashboardState.resolvedFilters.some(hasDimensionPrefix('page')) -} - -export function hasConversionGoalFilter(dashboardState) { - const resolvedGoalFilters = dashboardState.resolvedFilters.filter( - hasDimensionPrefix('goal') - ) - - return resolvedGoalFilters.some(([operation, _filterKey, _clauses]) => { - return operation !== FILTER_OPERATIONS.has_not_done - }) -} - -export function isRealTimeDashboard(dashboardState) { - return dashboardState?.period === 'realtime' -} - -// Note: Currently only a single goal filter can be applied at a time. -export function getGoalFilter(dashboardState) { - return getFiltersByKeyPrefix(dashboardState, 'goal')[0] || null -} - -export function formatFilterGroup(filterGroup) { - if (filterGroup === 'utm') { - return 'UTM tags' - } else if (filterGroup === 'location') { - return 'Location' - } else if (filterGroup === 'props') { - return 'Property' - } else { - return formattedFilters[filterGroup] - } -} - -export function cleanLabels(filters, labels, mergedFilterKey, mergedLabels) { - const filteredBy = Object.fromEntries( - filters - .flatMap(([_operation, filterKey, clauses]) => { - if (filterKey === 'segment') { - return clauses.map(formatSegmentIdAsLabelKey) - } - if (['country', 'region', 'city'].includes(filterKey)) { - return clauses - } - return [] - }) - .map((value) => [value, true]) - ) - - let result = { ...labels } - for (const value in labels) { - if (!filteredBy[value]) { - delete result[value] - } - } - - if ( - mergedFilterKey && - ['country', 'region', 'city', 'segment'].includes(mergedFilterKey) - ) { - result = { - ...result, - ...mergedLabels - } - } - - return result -} - -const NO_PREFIX_KEYS = new Set(['segment']) -const EVENT_FILTER_KEYS = new Set(['name', 'page', 'goal', 'hostname']) -const EVENT_PREFIX = 'event:' -const VISIT_PREFIX = 'visit:' - -export function hasEventFilters(dashboardState) { - return dashboardState.resolvedFilters.some( - ([_operation, filterKey, _clauses]) => isEventFilterKey(filterKey) - ) -} - -function isEventFilterKey(filterKey) { - return ( - EVENT_FILTER_KEYS.has(filterKey) || filterKey.startsWith(EVENT_PROPS_PREFIX) - ) -} - -function remapFilterKey(filterKey) { - if (NO_PREFIX_KEYS.has(filterKey)) { - return filterKey - } - if (isEventFilterKey(filterKey)) { - return `${EVENT_PREFIX}${filterKey}` - } - return `${VISIT_PREFIX}${filterKey}` -} - -function remapApiFilterKey(apiFilterKey) { - const isNoPrefixKey = NO_PREFIX_KEYS.has(apiFilterKey) - - if (isNoPrefixKey) { - return apiFilterKey - } - - const isEventKey = apiFilterKey.startsWith(EVENT_PREFIX) - const isVisitKey = apiFilterKey.startsWith(VISIT_PREFIX) - - if (isEventKey) { - return apiFilterKey.substring(EVENT_PREFIX.length) - } - if (isVisitKey) { - return apiFilterKey.substring(VISIT_PREFIX.length) - } - - return apiFilterKey // maybe throw? -} - -export function remapToApiFilters(filters) { - return filters.map(remapToApiFilter) -} - -export function remapFromApiFilters(apiFilters) { - return apiFilters.map((apiFilter) => { - const [operation, ...rest] = apiFilter - if (operation === 'has_not_done') { - const [[_, apiFilterKey, clauses]] = rest - return [ - FILTER_OPERATIONS.has_not_done, - remapApiFilterKey(apiFilterKey), - clauses - ] - } - const [apiFilterKey, clauses] = rest - return [operation, remapApiFilterKey(apiFilterKey), clauses] - }) -} - -export function serializeApiFilters(filters) { - return JSON.stringify(remapToApiFilters(filters)) -} - -function remapToApiFilter([operation, filterKey, clauses, ...modifiers]) { - const apiFilterKey = remapFilterKey(filterKey) - if (apiFilterKey === 'segment') { - return [operation, apiFilterKey, clauses.map((v) => parseInt(v, 10))] - } - if (operation === FILTER_OPERATIONS.has_not_done) { - // :NOTE: Frontend does not support advanced query building that's used in the backend. - // As such we emulate the backend behavior for has_not_done goal filters - return ['has_not_done', ['is', apiFilterKey, clauses, ...modifiers]] - } else { - return [operation, apiFilterKey, clauses, ...modifiers] - } -} - -export function getFilterGroup([_operation, filterKey, _clauses]) { - return filterKey.startsWith(EVENT_PROPS_PREFIX) ? 'props' : filterKey -} - -export const formattedFilters = { - goal: 'Goal', - props: 'Property', - prop_key: 'Property', - prop_value: 'Value', - source: 'Source', - channel: 'Channel', - utm_medium: 'UTM medium', - utm_source: 'UTM source', - utm_campaign: 'UTM campaign', - utm_content: 'UTM content', - utm_term: 'UTM term', - referrer: 'Referrer URL', - screen: 'Screen size', - browser: 'Browser', - browser_version: 'Browser version', - os: 'Operating system', - os_version: 'Operating system version', - country: 'Country', - region: 'Region', - city: 'City', - page: 'Page', - hostname: 'Hostname', - entry_page: 'Entry page', - exit_page: 'Exit page', - segment: 'Segment' -} diff --git a/assets/js/dashboard/util/filters.test.ts b/assets/js/dashboard/util/filters.test.ts deleted file mode 100644 index 20b8080567f5f9b99d0767641ebd7048e5700df9..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/filters.test.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { getAvailableFilterModals, serializeApiFilters } from './filters' - -describe(`${getAvailableFilterModals.name}`, () => { - it('gives limited object when props are not available', () => { - expect( - getAvailableFilterModals({ - propsAvailable: false - }) - ).toEqual({ - browser: ['browser', 'browser_version'], - goal: ['goal'], - hostname: ['hostname'], - location: ['country', 'region', 'city'], - os: ['os', 'os_version'], - page: ['page', 'entry_page', 'exit_page'], - screen: ['screen'], - source: ['source', 'channel', 'referrer'], - utm: [ - 'utm_medium', - 'utm_source', - 'utm_campaign', - 'utm_term', - 'utm_content' - ], - segment: ['segment'] - }) - }) - - it('gives full object when props and segments are available', () => { - expect( - getAvailableFilterModals({ - propsAvailable: true - }) - ).toEqual({ - browser: ['browser', 'browser_version'], - goal: ['goal'], - hostname: ['hostname'], - location: ['country', 'region', 'city'], - os: ['os', 'os_version'], - page: ['page', 'entry_page', 'exit_page'], - screen: ['screen'], - source: ['source', 'channel', 'referrer'], - utm: [ - 'utm_medium', - 'utm_source', - 'utm_campaign', - 'utm_term', - 'utm_content' - ], - props: ['props'], - segment: ['segment'] - }) - }) -}) - -describe(`${serializeApiFilters.name}`, () => { - it('should prefix filter keys with event: or visit: when appropriate', () => { - const filters = [ - ['is', 'page', ['/docs', '/blog']], - ['contains', 'goal', ['Signup']], - ['contains_not', 'browser', ['chrom'], { case_sensitive: false }], - ['is', 'country', ['US']], - ['is_not', 'utm_source', ['google']] - ] - expect(serializeApiFilters(filters)).toEqual( - JSON.stringify([ - ['is', 'event:page', ['/docs', '/blog']], - ['contains', 'event:goal', ['Signup']], - ['contains_not', 'visit:browser', ['chrom'], { case_sensitive: false }], - ['is', 'visit:country', ['US']], - ['is_not', 'visit:utm_source', ['google']] - ]) - ) - }) - - it('wraps has_not_done goal filters in API format', () => { - const filters = [['has_not_done', 'goal', ['Signup']]] - expect(serializeApiFilters(filters)).toEqual( - JSON.stringify([['has_not_done', ['is', 'event:goal', ['Signup']]]]) - ) - }) -}) diff --git a/assets/js/dashboard/util/goals.ts b/assets/js/dashboard/util/goals.ts deleted file mode 100644 index e3ccbea9d8d54d03bf1e3c26790232b537bf939e..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/goals.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Filter } from '../dashboard-state' -import { FILTER_OPERATIONS } from './filters' - -export const isPageViewGoal = (goalName: string) => { - goalName.startsWith('Visit ') -} - -export const SPECIAL_GOALS = { - '404': { title: '404 Pages', prop: 'path' }, - 'Outbound Link: Click': { title: 'Outbound Links', prop: 'url' }, - 'Cloaked Link: Click': { title: 'Cloaked Links', prop: 'url' }, - 'File Download': { title: 'File Downloads', prop: 'url' }, - 'Form: Submission': { title: 'Form Actions', prop: 'path' }, - 'WP Search Queries': { - title: 'WordPress Search Queries', - prop: 'search_query' - }, - 'WP Form Completions': { title: 'WordPress Form Completions', prop: 'path' } -} - -export function isSpecialGoal( - goalName: string | number -): goalName is keyof typeof SPECIAL_GOALS { - return goalName in SPECIAL_GOALS -} - -export function getSpecialGoal(goalFilter: Filter) { - const [operation, _filterKey, clauses] = goalFilter - if (operation === FILTER_OPERATIONS.is && clauses.length == 1) { - const goalName = clauses[0] - return isSpecialGoal(goalName) ? SPECIAL_GOALS[goalName] : null - } - return null -} diff --git a/assets/js/dashboard/util/money.ts b/assets/js/dashboard/util/money.ts deleted file mode 100644 index 10350951f9386f3747822054778ec849c673b37d..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/money.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { numberLongFormatter, numberShortFormatter } from './number-formatter' - -type Money = { long: string; short: string } - -export function formatMoneyShort(value: Money | number | null) { - if (typeof value == 'number') { - return numberShortFormatter(value) - } else if (value) { - return value.short - } else { - return '-' - } -} - -export function formatMoneyLong(value: Money | number | null) { - if (typeof value == 'number') { - return numberLongFormatter(value) - } else if (value) { - return value.long - } else { - return '-' - } -} diff --git a/assets/js/dashboard/util/number-formatter.test.ts b/assets/js/dashboard/util/number-formatter.test.ts deleted file mode 100644 index 0721cbb38e66c1e42aad24a93bde6d29a16fd813..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/number-formatter.test.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { numberLongFormatter, numberShortFormatter } from './number-formatter' - -describe('numberShortFormatter()', () => { - it('converts to short format', () => { - expect(numberShortFormatter(0)).toEqual('0') - expect(numberShortFormatter(-10)).toEqual('-10') - expect(numberShortFormatter(12)).toEqual('12') - expect(numberShortFormatter(123)).toEqual('123') - expect(numberShortFormatter(1234)).toEqual('1.2k') - expect(numberShortFormatter(12345)).toEqual('12.3k') - expect(numberShortFormatter(123456)).toEqual('123k') - expect(numberShortFormatter(1234567)).toEqual('1.2M') - expect(numberShortFormatter(12345678)).toEqual('12.3M') - expect(numberShortFormatter(123456789)).toEqual('123M') - expect(numberShortFormatter(1234567890)).toEqual('1.2B') - }) -}) - -describe('numberLongFormatter()', () => { - it('converts to short format', () => { - expect(numberLongFormatter(0)).toEqual('0') - expect(numberLongFormatter(-10)).toEqual('-10') - expect(numberLongFormatter(12)).toEqual('12') - expect(numberLongFormatter(123)).toEqual('123') - expect(numberLongFormatter(1234)).toEqual('1,234') - expect(numberLongFormatter(12345)).toEqual('12,345') - expect(numberLongFormatter(123456)).toEqual('123,456') - expect(numberLongFormatter(1234567)).toEqual('1,234,567') - expect(numberLongFormatter(12345678)).toEqual('12,345,678') - expect(numberLongFormatter(123456789)).toEqual('123,456,789') - expect(numberLongFormatter(1234567890)).toEqual('1,234,567,890') - }) -}) diff --git a/assets/js/dashboard/util/number-formatter.ts b/assets/js/dashboard/util/number-formatter.ts deleted file mode 100644 index 90d138bc5714eae4627cb75e468c1562a72d2155..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/number-formatter.ts +++ /dev/null @@ -1,84 +0,0 @@ -const THOUSAND = 1000 -const HUNDRED_THOUSAND = 100000 -const MILLION = 1000000 -const HUNDRED_MILLION = 100000000 -const BILLION = 1000000000 -const HUNDRED_BILLION = 100000000000 -const TRILLION = 1000000000000 - -const numberFormat = Intl.NumberFormat('en-US') - -export function numberShortFormatter(num: number): string { - if (num >= THOUSAND && num < MILLION) { - const thousands = num / THOUSAND - if (thousands === Math.floor(thousands) || num >= HUNDRED_THOUSAND) { - return Math.floor(thousands) + 'k' - } else { - return Math.floor(thousands * 10) / 10 + 'k' - } - } else if (num >= MILLION && num < BILLION) { - const millions = num / MILLION - if (millions === Math.floor(millions) || num >= HUNDRED_MILLION) { - return Math.floor(millions) + 'M' - } else { - return Math.floor(millions * 10) / 10 + 'M' - } - } else if (num >= BILLION && num < TRILLION) { - const billions = num / BILLION - if (billions === Math.floor(billions) || num >= HUNDRED_BILLION) { - return Math.floor(billions) + 'B' - } else { - return Math.floor(billions * 10) / 10 + 'B' - } - } else { - return num.toString() - } -} - -export function numberLongFormatter(num: number): string { - return numberFormat.format(num) -} - -export function nullable( - formatter: (num: T) => string -): (num: T | null) => string { - return (num: T | null): string => { - if (num === null) { - return '-' - } - return formatter(num) - } -} - -function pad(num: number, size: number): string { - return ('000' + num).slice(size * -1) -} - -export function durationFormatter(duration: number): string { - const hours = Math.floor(duration / 60 / 60) - const minutes = Math.floor(duration / 60) % 60 - const seconds = Math.floor(duration - minutes * 60 - hours * 60 * 60) - if (hours > 0) { - return `${hours}h ${minutes}m ${seconds}s` - } else if (minutes > 0) { - return `${minutes}m ${pad(seconds, 2)}s` - } else { - return `${seconds}s` - } -} - -export function roundedNumberFormatter(number: number): string { - if (Math.abs(number) > 0 && Math.abs(number) < 0.1) { - return number.toFixed(2) - } else { - return number.toFixed(1).replace(/\.0$/, '') - } -} - -export function percentageFormatter(number: number | null): string { - if (typeof number === 'number') { - return roundedNumberFormatter(number) + '%' - } else { - return '-' - } -} diff --git a/assets/js/dashboard/util/realtime-update-timer.js b/assets/js/dashboard/util/realtime-update-timer.js deleted file mode 100644 index 07d773883b99d43aa29acecba963d0d57e4b30d2..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/realtime-update-timer.js +++ /dev/null @@ -1,8 +0,0 @@ -export const REALTIME_UPDATE_TIME_MS = 30_000 -const tickEvent = new Event('tick') - -export function start() { - setInterval(() => { - document.dispatchEvent(tickEvent) - }, REALTIME_UPDATE_TIME_MS) -} diff --git a/assets/js/dashboard/util/seconds-since-last-load.js b/assets/js/dashboard/util/seconds-since-last-load.js deleted file mode 100644 index cb8d8d7902b7017d1ec5c89692b2f73216a9b303..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/seconds-since-last-load.js +++ /dev/null @@ -1,15 +0,0 @@ -import { useState, useEffect } from 'react' - -// A function component that renders an integer value of how many -// seconds have passed from the last data load on the dashboard. -// Updates the value every second when the component is visible. -export function SecondsSinceLastLoad({ lastLoadTimestamp }) { - const [timeNow, setTimeNow] = useState(new Date()) - - useEffect(() => { - const interval = setInterval(() => setTimeNow(new Date()), 1000) - return () => clearInterval(interval) - }, []) - - return Math.round(Math.abs(lastLoadTimestamp - timeNow) / 1000) -} diff --git a/assets/js/dashboard/util/storage.js b/assets/js/dashboard/util/storage.js deleted file mode 100644 index 1d241f3eb6f26edec178944a9498aed86e3a3d39..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/storage.js +++ /dev/null @@ -1,37 +0,0 @@ -// This module checks if localStorage is available and uses it for persistent frontend storage -// if possible. Localstorage can be blocked by browsers when people block third-party cookies and -// the dashboard is running in embedded mode. In those cases, store stuff in a regular object instead. - -const memStore = {} - -// https://stackoverflow.com/a/16427747 -function testLocalStorageAvailability() { - try { - const testItem = 'test' - localStorage.setItem(testItem, testItem) - localStorage.removeItem(testItem) - return true - } catch (_e) { - return false - } -} - -const isLocalStorageAvailable = testLocalStorageAvailability() - -export function setItem(key, value) { - if (isLocalStorageAvailable) { - window.localStorage.setItem(key, value) - } else { - memStore[key] = value - } -} - -export function getItem(key) { - if (isLocalStorageAvailable) { - return window.localStorage.getItem(key) - } else { - return memStore[key] - } -} - -export const getDomainScopedStorageKey = (key, domain) => `${key}__${domain}` diff --git a/assets/js/dashboard/util/tooltip.tsx b/assets/js/dashboard/util/tooltip.tsx deleted file mode 100644 index 98febf3dec7d6e3e291bc8a1b837e149a14554f1..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/tooltip.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import React, { CSSProperties, ReactNode, RefObject, useState } from 'react' -import { usePopper } from 'react-popper' -import classNames from 'classnames' -import { createPortal } from 'react-dom' - -export function Tooltip({ - children, - info, - className, - onClick, - boundary, - containerRef -}: { - info: ReactNode - children: ReactNode - className?: string - onClick?: () => void - /** if provided, the tooltip is confined to the particular element */ - boundary?: HTMLElement | null - /** if defined, the tooltip is rendered in a portal to this element */ - containerRef?: RefObject -}) { - const [visible, setVisible] = useState(false) - const [referenceElement, setReferenceElement] = - useState(null) - const [popperElement, setPopperElement] = useState( - null - ) - - const { styles, attributes } = usePopper(referenceElement, popperElement, { - placement: 'top', - modifiers: [ - { - name: 'offset', - options: { - offset: [0, 6] - } - }, - ...(boundary - ? [ - { - name: 'preventOverflow', - options: { - boundary: boundary - } - } - ] - : []) - ] - }) - - return ( -
-
setVisible(true)} - onMouseLeave={() => setVisible(false)} - onClick={onClick} - > - {children} -
- {info && visible && ( - - {info} - - )} -
- ) -} - -function TooltipMessage({ - containerRef, - popperStyle, - popperAttributes, - setPopperElement, - children -}: { - containerRef?: RefObject - popperStyle: CSSProperties - popperAttributes?: Record - setPopperElement: (element: HTMLDivElement) => void - children: ReactNode -}) { - const messageElement = ( -
- {children} -
- ) - if (containerRef) { - if (containerRef.current) { - return createPortal(messageElement, containerRef.current) - } else { - return null - } - } - - return messageElement -} diff --git a/assets/js/dashboard/util/url-search-params-v1.ts b/assets/js/dashboard/util/url-search-params-v1.ts deleted file mode 100644 index c7cc740af7dd6e6c2e8a1f72df06dd37fbd8bbff..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/url-search-params-v1.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { DashboardState, Filter } from '../dashboard-state' -import { EVENT_PROPS_PREFIX, FILTER_OPERATIONS } from './filters' - -// As of March 2023, Safari does not support negative lookbehind regexes. In case it throws an error, falls back to plain | matching. This means -// escaping pipe characters in filters does not currently work in Safari -let NON_ESCAPED_PIPE_REGEX: string | RegExp -try { - NON_ESCAPED_PIPE_REGEX = new RegExp('(? { - const searchParams = new URLSearchParams(searchString) - const updatedSearchRecordEntries = [] - const filters: Filter[] = [] - let labels: DashboardState['labels'] = {} - - for (const [key, value] of searchParams.entries()) { - if (LEGACY_URL_PARAMETERS.hasOwnProperty(key)) { - if (typeof value !== 'string') { - continue - } - const filter = parseLegacyFilter(key, value) as Filter - filters.push(filter) - const labelsKey: string | null | undefined = - LEGACY_URL_PARAMETERS[key as keyof typeof LEGACY_URL_PARAMETERS] - const labelsParamValue = labelsKey ? searchParams.get(labelsKey) : null - if (labelsParamValue) { - const clauses = filter[2] - const labelsValues = labelsParamValue - .split('|') - .filter((label) => !!label) - const newLabels = Object.fromEntries( - clauses.map((clause, index) => [clause, labelsValues[index]]) - ) - - labels = Object.assign(labels, newLabels) - } - } else { - updatedSearchRecordEntries.push([key, value]) - } - } - - const propsParamValue = searchParams.get('props') - if (typeof propsParamValue === 'string') { - filters.push(...(parseLegacyPropsFilter(propsParamValue) as Filter[])) - } - updatedSearchRecordEntries.push(['filters', filters], ['labels', labels]) - return Object.fromEntries(updatedSearchRecordEntries) -} - -function parseLegacyFilter(filterKey: string, rawValue: string): null | Filter { - const operation = - Object.keys(OPERATION_PREFIX).find( - (operation) => OPERATION_PREFIX[operation] === rawValue[0] - ) || FILTER_OPERATIONS.is - - const value = - operation === FILTER_OPERATIONS.is ? rawValue : rawValue.substring(1) - - const clauses = value - .split(NON_ESCAPED_PIPE_REGEX) - .filter((clause) => !!clause) - // @ts-expect-error API supposedly not present in compilation target, but works anyway - .map((val) => val.replaceAll(ESCAPED_PIPE, '|')) - - return [operation, filterKey, clauses] -} - -function parseLegacyPropsFilter(rawValue: string) { - return Object.entries(JSON.parse(rawValue)).flatMap(([key, propVal]) => - typeof propVal === 'string' - ? [parseLegacyFilter(`${EVENT_PROPS_PREFIX}${key}`, propVal)] - : [] - ) -} - -export const v1 = { - isV1, - parseSearch -} diff --git a/assets/js/dashboard/util/url-search-params-v2.test.ts b/assets/js/dashboard/util/url-search-params-v2.test.ts deleted file mode 100644 index 8959248354375afbdae54f838dd73f9359195f8f..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/url-search-params-v2.test.ts +++ /dev/null @@ -1,204 +0,0 @@ -import JsonURL from '@jsonurl/jsonurl' -import { v2 } from './url-search-params-v2' - -const { - stringifySearchEntry, - stringifySearch, - parseSearch, - parseSearchFragment -} = v2 - -describe('using json URL parsing with URLSearchParams intermediate', () => { - beforeEach(() => { - // Silence logs in tests - jest.spyOn(console, 'error').mockImplementation(jest.fn()) - }) - it.each([['#'], ['&'], ['=']])('throws on special symbol %p', (s) => { - const searchString = `?param=${encodeURIComponent(s)}` - expect(() => - JsonURL.parse(new URLSearchParams(searchString).get('param')!) - ).toThrow() - }) -}) - -describe(`${stringifySearchEntry.name}`, () => { - it.each<[[string, unknown], [string, string | undefined]]>([ - [ - ['any-key', {}], - ['any-key', undefined] - ], - [ - ['any-key', []], - ['any-key', undefined] - ], - [ - ['any-key', null], - ['any-key', undefined] - ], - [ - ['period', 'realtime'], - ['period', 'realtime'] - ], - [ - ['page', 10], - ['page', '10'] - ], - [ - ['labels', { US: 'United States', 3448439: 'São Paulo' }], - ['labels', '(3448439:S%C3%A3o+Paulo,US:United+States)'] - ], - [ - ['filters', [['is', 'props:foo:bar', ['one', 'two']]]], - ['filters', "((is,'props:foo:bar',(one,two)))"] - ] - ])('when input is %p, returns %p', (input, expected) => { - const result = stringifySearchEntry(input) - expect(result).toEqual(expected) - }) -}) - -describe(`${parseSearchFragment.name}`, () => { - it.each([ - ['', null], - ['("foo":)', null], - ['(invalid', null], - ['null', null], - - ['123', 123], - ['string', 'string'], - ['item=#', 'item=#'], - ['item%3D%23', 'item=#'], - - ['(any:(number:1))', { any: { number: 1 } }], - ['(any:(number:1.001))', { any: { number: 1.001 } }], - ["(any:(string:'1.001'))", { any: { string: '1.001' } }], - - // Non-JSON strings that should return as string - ['undefined', 'undefined'], - ['not_json', 'not_json'], - ['plainstring', 'plainstring'], - ['a|b', 'a|b'], - ['foo bar#', 'foo bar#'] - ])( - 'when searchStringFragment is %p, returns %p', - (searchStringFragment, expected) => { - const result = parseSearchFragment(searchStringFragment) - expect(result).toEqual(expected) - } - ) -}) - -describe(`${parseSearch.name}`, () => { - it.each([ - ['', {}], - ['?', {}], - [ - '?arr=(1,2)', - { - arr: [1, 2] - } - ], - ['?key1=value1&key2=', { key1: 'value1', key2: null }], - ['?key1=value1&key2=value2', { key1: 'value1', key2: 'value2' }], - [ - '?key1=(foo:bar)&filters=((is,screen,(Mobile,Desktop)))', - { - key1: { foo: 'bar' }, - filters: [['is', 'screen', ['Mobile', 'Desktop']]] - } - ], - [ - '?filters=((is,country,(US)))&labels=(US:United%2BStates)', - { - filters: [['is', 'country', ['US']]], - labels: { - US: 'United States' - } - } - ] - ])('when searchString is %p, returns %p', (searchString, expected) => { - const result = parseSearch(searchString) - expect(result).toEqual(expected) - }) -}) - -describe(`${stringifySearch.name} and ${parseSearch.name} are inverses of each other`, () => { - it.each([ - ["?filters=((is,'props:browser_language',(en-US)))"], - [ - '?filters=((contains,utm_term,(_)),(is,screen,(Desktop,Tablet)),(is,page,(/open-source-website-analytics)))&period=custom&keybindHint=A&comparison=previous_period&match_day_of_week=false&from=2024-08-08&to=2024-08-10' - ], - [ - "?filters=((is,'props:browser_language',(en-US)),(is,country,(US)),(is,os,(iOS)),(is,os_version,('17.3')),(is,page,('/:dashboard/settings/general')))&labels=(US:United%2BStates)" - ], - [ - '?filters=((is,utm_source,(hackernewsletter)),(is,utm_campaign,(profile)))&period=day&keybindHint=D' - ] - ])( - `input %p is returned for ${parseSearch.name}(${parseSearch.name}(input))`, - (searchString) => { - const searchRecord = parseSearch(searchString) - const reStringifiedSearch = stringifySearch(searchRecord) - expect(reStringifiedSearch).toEqual(searchString) - } - ) - - it.each([ - // Corresponding test cases for objects parsed from realistic URLs - - [ - { - filters: [['is', 'props:browser_language', ['en-US']]] - }, - "?filters=((is,'props:browser_language',(en-US)))" - ], - [ - { - filters: [ - ['contains', 'utm_term', ['_']], - ['is', 'screen', ['Desktop', 'Tablet']], - ['is', 'page', ['/open-source/analytics/encoded-hash%23']] - ], - period: 'custom', - keybindHint: 'A', - comparison: 'previous_period', - match_day_of_week: false, - from: '2024-08-08', - to: '2024-08-10' - }, - '?filters=((contains,utm_term,(_)),(is,screen,(Desktop,Tablet)),(is,page,(%252Fopen-source%252Fanalytics%252Fencoded-hash%252523)))&period=custom&keybindHint=A&comparison=previous_period&match_day_of_week=false&from=2024-08-08&to=2024-08-10' - ], - [ - { - filters: [ - ['is', 'props:browser_language', ['en-US']], - ['is', 'country', ['US']], - ['is', 'os', ['iOS']], - ['is', 'os_version', ['17.3']], - ['is', 'page', ['/:dashboard/settings/general']] - ], - labels: { US: 'United States' } - }, - "?filters=((is,'props:browser_language',(en-US)),(is,country,(US)),(is,os,(iOS)),(is,os_version,('17.3')),(is,page,('/:dashboard/settings/general')))&labels=(US:United%2BStates)" - ], - [ - { - filters: [ - ['is', 'utm_source', ['hackernewsletter']], - ['is', 'utm_campaign', ['profile']] - ], - period: 'day', - keybindHint: 'D' - }, - '?filters=((is,utm_source,(hackernewsletter)),(is,utm_campaign,(profile)))&period=day&keybindHint=D' - ] - ])( - `for input %p, ${stringifySearch.name}(input) returns %p and ${parseSearch.name}(${stringifySearch.name}(input)) returns the original input`, - (searchRecord, expected) => { - const searchString = stringifySearch(searchRecord) - const parsedSearchRecord = parseSearch(searchString) - expect(parsedSearchRecord).toEqual(searchRecord) - expect(searchString).toEqual(expected) - } - ) -}) diff --git a/assets/js/dashboard/util/url-search-params-v2.ts b/assets/js/dashboard/util/url-search-params-v2.ts deleted file mode 100644 index 3c8e03aae7a78124ac4c5c7117186bbc2dce4cda..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/url-search-params-v2.ts +++ /dev/null @@ -1,83 +0,0 @@ -import JsonURL from '@jsonurl/jsonurl' -import { - encodeURIComponentPermissive, - isSearchEntryDefined -} from './url-search-params' - -const permittedCharactersInURLParamKeyValue = ',:/' - -function isV2(urlSearchParams: URLSearchParams): boolean { - return !!urlSearchParams.get('filters') -} - -function encodeSearchParamEntry([k, v]: [string, string]): string { - return [k, v] - .map((s) => - encodeURIComponentPermissive(s, permittedCharactersInURLParamKeyValue) - ) - .join('=') -} - -function stringifySearch(searchRecord: Record): '' | string { - const definedSearchEntries = Object.entries(searchRecord || {}) - .map(stringifySearchEntry) - .filter(isSearchEntryDefined) - - const encodedSearchEntries = definedSearchEntries.map(encodeSearchParamEntry) - - return encodedSearchEntries.length ? `?${encodedSearchEntries.join('&')}` : '' -} - -function stringifySearchEntry([key, value]: [string, unknown]): [ - string, - undefined | string -] { - const isEmptyObjectOrArray = - typeof value === 'object' && - value !== null && - Object.entries(value).length === 0 - if (value === undefined || value === null || isEmptyObjectOrArray) { - return [key, undefined] - } - - return [key, JsonURL.stringify(value)] -} - -function parseSearchFragment(searchStringFragment: string): null | unknown { - if (searchStringFragment === '') { - return null - } - // tricky: the search string fragment is already decoded due to URLSearchParams intermediate (see tests), - // and these symbols are unparseable - const fragmentWithReEncodedSymbols = searchStringFragment - /* @ts-expect-error API supposedly not present in compilation target */ - .replaceAll('=', encodeURIComponent('=')) - .replaceAll('#', encodeURIComponent('#')) - .replaceAll('|', encodeURIComponent('|')) - .replaceAll(' ', encodeURIComponent(' ')) - - try { - return JsonURL.parse(fragmentWithReEncodedSymbols) - } catch (error) { - console.error( - `Failed to parse URL fragment ${fragmentWithReEncodedSymbols}`, - error - ) - return null - } -} - -function parseSearch(searchString: string): Record { - const urlSearchParams = new URLSearchParams(searchString) - const searchRecord: Record = {} - urlSearchParams.forEach((v, k) => (searchRecord[k] = parseSearchFragment(v))) - return searchRecord -} - -export const v2 = { - isV2, - parseSearch, - parseSearchFragment, - stringifySearch, - stringifySearchEntry -} diff --git a/assets/js/dashboard/util/url-search-params.test.ts b/assets/js/dashboard/util/url-search-params.test.ts deleted file mode 100644 index a52efaeeea6314c1a611583c8364bf9e9190f67e..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/url-search-params.test.ts +++ /dev/null @@ -1,331 +0,0 @@ -import { Filter } from '../dashboard-state' -import { - encodeURIComponentPermissive, - getSearchWithEnforcedSegment, - isSearchEntryDefined, - maybeGetLatestReadableSearch, - maybeReloadForApiVersion, - parseFilter, - parseLabelsEntry, - parseSearch, - parseSimpleSearchEntry, - serializeFilter, - serializeLabelsEntry, - serializeSimpleSearchEntry, - stringifySearch -} from './url-search-params' - -describe(`${encodeURIComponentPermissive.name}`, () => { - it.each<[string, string]>([ - ['10.00.00/1', '10.00.00/1'], - ['#hashtag', '%23hashtag'], - ['100$ coupon', '100%24%20coupon'], - ['Visit /any/page', 'Visit%20/any/page'], - ['A,B,C', 'A,B,C'], - ['props:colon/forward/slash/signs', 'props:colon/forward/slash/signs'], - ['https://example.com/path', 'https://example.com/path'] - ])( - 'when input is %p, returns %s and decodes back to input', - (input, expected) => { - const result = encodeURIComponentPermissive(input, ',:/') - expect(result).toBe(expected) - expect(decodeURIComponent(result)).toBe(input) - } - ) -}) - -describe(`${isSearchEntryDefined.name}`, () => { - it.each<[[string, string | undefined], boolean]>([ - [['key', undefined], false], - [['key', 'value'], true], - [['key', ''], true], - [['anotherKey', 'undefined'], true] - ])('when entry is %p, returns %s', (entry, expected) => { - const result = isSearchEntryDefined(entry) - expect(result).toBe(expected) - }) -}) - -describe(`${serializeLabelsEntry.name} and ${parseLabelsEntry.name}(...) are opposite of each other`, () => { - test.each<[[string, string], string]>([ - [['US', 'United States'], 'US,United%20States'], - [['FR-IDF', 'Île-de-France'], 'FR-IDF,%C3%8Ele-de-France'], - [['1254661', 'Thāne'], '1254661,Th%C4%81ne'] - ])( - 'entry %p serializes to %p, parses back to original', - (entry, expected) => { - const serialized = serializeLabelsEntry(entry) - expect(serialized).toEqual(expected) - expect(parseLabelsEntry(serialized)).toEqual(entry) - } - ) -}) - -describe(`${serializeFilter.name} and ${parseFilter.name}(...) are opposite of each other`, () => { - test.each<[Filter, string]>([ - [ - ['contains', 'entry_page', ['/forecast/:city', ',"\'']], - "contains,entry_page,/forecast/:city,%2C%22'" - ], - [ - ['is', 'props:complex/prop-with-comma-etc,$#%', ['(none)']], - 'is,props:complex/prop-with-comma-etc%2C%24%23%25,(none)' - ] - ])( - 'filter %p serializes to %p, parses back to original', - (filter, expected) => { - const serialized = serializeFilter(filter) - expect(serialized).toEqual(expected) - expect(parseFilter(serialized)).toEqual(filter) - } - ) -}) - -describe(`${serializeSimpleSearchEntry.name} and ${parseSimpleSearchEntry.name}`, () => { - test.each< - [ - [string, unknown], - [string, string | boolean | undefined], - [string, string | boolean] | null - ] - >([ - [['undefined-param', undefined], ['undefined-param', undefined], null], - [['null-param', null], ['null-param', undefined], null], - [['array-param', ['any-value']], ['array-param', undefined], null], - [['obj-param', { 'any-key': 'any-value' }], ['obj-param', undefined], null], - [ - ['date-obj', new Date('2024-01-01T10:00:00.000Z')], - ['date-obj', undefined], - null - ], - [ - ['page-nr', 5], - ['page-nr', '5'], - ['page-nr', '5'] - ], - [ - ['string-param-resembling-boolean', 'true'], - ['string-param-resembling-boolean', 'true'], - ['string-param-resembling-boolean', true] - ], - [ - ['match-day-of-week', false], - ['match-day-of-week', 'false'], - ['match-day-of-week', false] - ], - [ - ['with-imported-data', true], - ['with-imported-data', 'true'], - ['with-imported-data', true] - ], - [ - ['date-string', '2024-12-10'], - ['date-string', '2024-12-10'], - ['date-string', '2024-12-10'] - ] - ])( - 'entry %p serializes to %p, parses to %p', - (entry, expectedSerialized, expectedParsedEntry) => { - const serialized = serializeSimpleSearchEntry(entry) - expect(serialized).toEqual(expectedSerialized) - expect( - serialized[1] === undefined - ? null - : parseSimpleSearchEntry(serialized[1]) - ).toEqual(expectedParsedEntry === null ? null : expectedParsedEntry[1]) - } - ) -}) - -describe(`${parseSearch.name}`, () => { - it.each([ - ['?', {}, ''], - ['?=&&', {}, ''], - ['?=undefined', {}, ''], - ['?foo=', { foo: '' }, '?foo='], - ['??foo', { '?foo': '' }, '?%3Ffoo='], - [ - '?f=is,visit:page,/any/page&f', - { filters: [['is', 'visit:page', ['/any/page']]] }, - '?f=is,visit:page,/any/page' - ] - ])( - 'for search string %s, returns search record %p, which in turn stringifies to %s', - (searchString, expectedSearchRecord, expectedRestringifiedResult) => { - expect(parseSearch(searchString)).toEqual(expectedSearchRecord) - expect(stringifySearch(expectedSearchRecord)).toEqual( - expectedRestringifiedResult - ) - } - ) -}) - -describe(`${stringifySearch.name}`, () => { - it.each([ - [{}, ''], - [ - { - filters: [['is', 'props:browser_language', ['en-US']]] - }, - '?f=is,props:browser_language,en-US' - ], - [ - { - filters: [ - ['contains', 'utm_term', ['_']], - ['is', 'screen', ['Desktop', 'Tablet']], - [ - 'is', - 'page', - ['/open-source/analytics/encoded-hash%23', '/unencoded-hash#'] - ] - ], - period: 'custom', - keybindHint: 'A', - comparison: 'previous_period', - match_day_of_week: false, - from: '2024-08-08', - to: '2024-08-10' - }, - '?f=contains,utm_term,_&f=is,screen,Desktop,Tablet&f=is,page,/open-source/analytics/encoded-hash%2523,/unencoded-hash%23&period=custom&keybindHint=A&comparison=previous_period&match_day_of_week=false&from=2024-08-08&to=2024-08-10' - ], - [ - { - filters: [ - ['is', 'props:browser_language', ['en-US']], - ['is', 'country', ['US']], - ['is', 'os', ['iOS']], - ['is', 'os_version', ['17.3', '16.0']], - ['is', 'page', ['/:dashboard/settings/general']] - ], - labels: { US: 'United States' } - }, - '?f=is,props:browser_language,en-US&f=is,country,US&f=is,os,iOS&f=is,os_version,17.3,16.0&f=is,page,/:dashboard/settings/general&l=US,United%20States' - ] - ])('works as expected', (searchRecord, expectedSearchString) => { - expect(stringifySearch(searchRecord)).toEqual(expectedSearchString) - expect(parseSearch(expectedSearchString)).toEqual(searchRecord) - }) -}) - -describe(`${maybeGetLatestReadableSearch.name}`, () => { - it.each([ - [''], - ['?auth=_Y6YOjUl2beUJF_XzG1hk&theme=light&background=%23ee00ee'], - ['?keybindHint=Escape&with_imported=true'], - ['?f=is,page,/blog/:category/:article-name&date=2024-10-10&period=day'], - ['?f=is,country,US&l=US,United%20States'] - ])('for modern search string %p returns null', (search) => { - expect(maybeGetLatestReadableSearch(search)).toBeNull() - }) - - it('returns updated search string for jsonurl style filters (v2), and running the updated value through the function again returns null (no redirect loop)', () => { - const search = - '?filters=((is,exit_page,(/plausible.io)),(is,source,(Brave)),(is,city,(993800)))&labels=(993800:Johannesburg)' - const expectedUpdatedSearch = - '?f=is,exit_page,/plausible.io&f=is,source,Brave&f=is,city,993800&l=993800,Johannesburg&r=v2' - expect(maybeGetLatestReadableSearch(search)).toEqual(expectedUpdatedSearch) - expect(maybeGetLatestReadableSearch(expectedUpdatedSearch)).toBeNull() - }) - - it.each([ - ['?page=/docs', '?f=is,page,/docs&r=v1'], - ['?page=%C3%AA&embed=true', '?f=is,page,%C3%AA&embed=true&r=v1'], - [ - '?page=/|/foo&goal=~Signup&source=!Facebook|Instagram', - '?f=is,page,/,/foo&f=contains,goal,Signup&f=is_not,source,Facebook,Instagram&r=v1' - ] - ])( - 'returns updated search string v1 style filter %s, and running the updated value through the function again returns null (no redirect loop)', - (searchString, expectedSearchString) => { - expect(maybeGetLatestReadableSearch(searchString)).toEqual( - expectedSearchString - ) - expect(maybeGetLatestReadableSearch(expectedSearchString)).toBeNull() - } - ) -}) - -describe(`${getSearchWithEnforcedSegment.name}`, () => { - it('adds enforced segment appropriately, and running the updated value through the function again returns the same value', () => { - const segment = { id: 100, name: 'Eastern Europe' } - const search = '?auth=foo&embed=true' - const expectedUpdatedSearch = - '?f=is,segment,100&l=segment-100,Eastern%20Europe&auth=foo&embed=true' - expect(getSearchWithEnforcedSegment(search, segment)).toEqual( - expectedUpdatedSearch - ) - expect( - getSearchWithEnforcedSegment(expectedUpdatedSearch, segment) - ).toEqual(expectedUpdatedSearch) - }) -}) - -describe(`${maybeReloadForApiVersion.name}`, () => { - const dashboardPathname = '/example.com' - - beforeEach(() => { - jest.spyOn(console, 'warn').mockImplementation(() => {}) - }) - - afterEach(() => { - jest.restoreAllMocks() - }) - - type MockWindowLocation = Location & { replace: jest.Mock } - - function makeLocation(search: string): MockWindowLocation { - return { - pathname: dashboardPathname, - search, - hash: '', - replace: jest.fn() - } as unknown as MockWindowLocation - } - - function makeHeaders(version: string | null): Headers { - const headers = new Headers() - if (version !== null) headers.set('x-api-version', version) - return headers - } - - it('reloads when effective API version is greater than expected', () => { - const location = makeLocation('') - maybeReloadForApiVersion(location, makeHeaders('1')) - expect(location.replace).toHaveBeenCalledWith( - `${dashboardPathname}?api_version_reloaded=1` - ) - }) - - it('does not reload when effective API version equals expected', () => { - const location = makeLocation('') - maybeReloadForApiVersion(location, makeHeaders('0')) - expect(location.replace).not.toHaveBeenCalled() - }) - - it('does not reload when effective API version is less than expected (FE loaded from newer node, cluster not fully updated)', () => { - const location = makeLocation('') - maybeReloadForApiVersion(location, makeHeaders('-1')) - expect(location.replace).not.toHaveBeenCalled() - }) - - it('does not reload when x-api-version header is absent', () => { - const location = makeLocation('') - maybeReloadForApiVersion(location, makeHeaders(null)) - expect(location.replace).not.toHaveBeenCalled() - }) - - it('does not reload when already reloaded for this version', () => { - const location = makeLocation('?api_version_reloaded=1') - maybeReloadForApiVersion(location, makeHeaders('1')) - expect(location.replace).not.toHaveBeenCalled() - }) - - it('reloads again if a newer version is detected after a previous reload', () => { - const location = makeLocation('?api_version_reloaded=1') - maybeReloadForApiVersion(location, makeHeaders('2')) - expect(location.replace).toHaveBeenCalledWith( - `${dashboardPathname}?api_version_reloaded=2` - ) - }) -}) diff --git a/assets/js/dashboard/util/url-search-params.ts b/assets/js/dashboard/util/url-search-params.ts deleted file mode 100644 index e273507f0c64cc2efec7d2a61c720193d9dddc4e..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/url-search-params.ts +++ /dev/null @@ -1,376 +0,0 @@ -import { - getSearchToSetSegmentFilter, - SavedSegment -} from '../filtering/segments' -import { Filter, FilterClauseLabels } from '../dashboard-state' -import { v1 } from './url-search-params-v1' -import { v2 } from './url-search-params-v2' - -/** - * These characters are not URL encoded to have more readable URLs. - * Browsers seem to handle this just fine. - * `?f=is,page,/my/page/:some_param` vs `?f=is,page,%2Fmy%2Fpage%2F%3Asome_param`` - */ -const NOT_URL_ENCODED_CHARACTERS = ':/' - -export const FILTER_URL_PARAM_NAME = 'f' - -const LABEL_URL_PARAM_NAME = 'l' - -const REDIRECTED_SEARCH_PARAM_NAME = 'r' - -const API_VERSION_RELOAD_PARAM_NAME = 'api_version_reloaded' - -const EXPECTED_API_VERSION = parseInt( - document - .querySelector('meta[name="x-api-version"]') - ?.getAttribute('content') ?? '0', - 10 -) - -/** - * Navigates to the current URL with `api_version_reloaded=` - * appended, using `location.replace` so the pre-reload entry is not kept in - * browser history. - * - * Returns early without navigating if: - * - * - the x-plausible-version response header is not present - * - the expected version matches the actual version - * - the version is already present in search params - * - * The latter prevents an infinite reload loop when the versions are - * permanently out of sync. - * - * BE: lib/plausible_web/plugs/internal_stats_api_version.ex - */ -export function maybeReloadForApiVersion( - windowLocation: Location, - responseHeaders: Headers -) { - const currentApiVersion = getCurrentApiVersion(responseHeaders) - const params = new URLSearchParams(windowLocation.search) - - if ( - currentApiVersion === null || - currentApiVersion <= EXPECTED_API_VERSION || - params.get(API_VERSION_RELOAD_PARAM_NAME) === currentApiVersion.toString() - ) { - return - } - - console.warn('API version mismatch detected, reloading...') - - const newSearch = searchWithApiVersionReload( - windowLocation.search, - currentApiVersion.toString() - ) - windowLocation.replace( - `${windowLocation.pathname}${newSearch}${windowLocation.hash}` - ) -} - -function getCurrentApiVersion(responseHeaders: Headers): number | null { - const versionString = responseHeaders?.get('x-api-version') - return versionString ? parseInt(versionString, 10) : null -} - -function searchWithApiVersionReload(search: string, value: string): string { - return stringifySearch({ - ...parseSearch(search), - [API_VERSION_RELOAD_PARAM_NAME]: value - }) -} - -/** - * This function is able to serialize for URL simple params @see serializeSimpleSearchEntry as well - * two complex params, labels and filters. - */ -export function stringifySearch( - searchRecord: Record -): '' | string { - const { filters, labels, ...rest } = searchRecord ?? {} - const definedSearchEntries = Object.entries(rest) - .map(serializeSimpleSearchEntry) - .filter(isSearchEntryDefined) - .map(([k, v]) => `${k}=${v}`) - - if (!Array.isArray(filters) || !filters.length) { - return definedSearchEntries.length - ? `?${definedSearchEntries.join('&')}` - : '' - } - - const serializedFilters = Array.isArray(filters) - ? filters.map((f) => `${FILTER_URL_PARAM_NAME}=${serializeFilter(f)}`) - : [] - - const serializedLabels = Object.entries(labels ?? {}).map( - (entry) => `${LABEL_URL_PARAM_NAME}=${serializeLabelsEntry(entry)}` - ) - - return `?${serializedFilters.concat(serializedLabels).concat(definedSearchEntries).join('&')}` -} - -export function normalizeSearchString(searchString: string): string { - return searchString.startsWith('?') ? searchString.slice(1) : searchString -} - -export function parseSearch(searchString: string): Record { - const searchRecord: Record = {} - const filters: Filter[] = [] - const labels: FilterClauseLabels = {} - - const normalizedSearchString = normalizeSearchString(searchString) - - if (!normalizedSearchString.length) { - return searchRecord - } - - const meaningfulParams = normalizedSearchString - .split('&') - .filter((i) => i.length > 0) - - for (const param of meaningfulParams) { - const [key, rawValue = ''] = param.split('=') - switch (key) { - case FILTER_URL_PARAM_NAME: { - const filter = parseFilter(rawValue) - if (filter.length === 3 && filter[2].length) { - filters.push(filter) - } - break - } - case LABEL_URL_PARAM_NAME: { - const [labelKey, labelValue] = parseLabelsEntry(rawValue) - if (labelKey.length && labelValue.length) { - labels[labelKey] = labelValue - } - break - } - case '': { - break - } - default: { - const parsedValue = parseSimpleSearchEntry(rawValue) - if (parsedValue !== null) { - searchRecord[decodeURIComponent(key)] = parsedValue - } - } - } - } - - return { - ...searchRecord, - ...(filters.length && { filters }), - ...(Object.keys(labels).length && { labels }) - } -} - -/** - * Serializes and flattens @see FilterClauseLabels entries. - * Examples: - * ["US","United States"] -> "US,United%20States" - * ["US-CA","California"] -> "US-CA,California" - * ["5391959","San Francisco"] -> "5391959,San%20Francisco" - */ -export function serializeLabelsEntry([labelKey, labelValue]: [string, string]) { - return `${encodeURIComponentPermissive(labelKey, NOT_URL_ENCODED_CHARACTERS)},${encodeURIComponentPermissive(labelValue, NOT_URL_ENCODED_CHARACTERS)}` -} - -/** - * Parses the output of @see serializeLabelsEntry back to labels object entry. - */ -export function parseLabelsEntry( - labelKeyValueString: string -): [string, string] { - const [key, value] = labelKeyValueString.split(',') - return [decodeURIComponent(key), decodeURIComponent(value)] -} - -/** - * Serializes and flattens filters array item. - * Examples: - * ["is", "entry_page", ["/blog", "/news"]] -> "is,entry_page,/blog,/news" - */ -export function serializeFilter([operator, dimension, clauses]: Filter) { - const serializedFilter = [ - encodeURIComponentPermissive(operator, NOT_URL_ENCODED_CHARACTERS), - encodeURIComponentPermissive(dimension, NOT_URL_ENCODED_CHARACTERS), - ...clauses.map((clause) => - encodeURIComponentPermissive( - clause.toString(), - NOT_URL_ENCODED_CHARACTERS - ) - ) - ].join(',') - return serializedFilter -} - -/** - * Parses the output of @see serializeFilter back to filters array item. - */ -export function parseFilter(filterString: string): Filter { - const [operator, dimension, ...unparsedClauses] = filterString.split(',') - return [ - decodeURIComponent(operator), - decodeURIComponent(dimension), - unparsedClauses.map(decodeURIComponent) - ] -} - -/** - * Encodes for URL simple search param values. - * Encodes numbers and number-like strings as indistinguishable strings. Parse treats them as strings. - * Encodes booleans and strings "true" and "false" as indistinguishable strings. Parse treats these as booleans. - * Unifies unhandleable complex search entries like undefined, null, objects and arrays as undefined. - * Complex URL params must be handled separately. - */ -export function serializeSimpleSearchEntry([key, value]: [string, unknown]): [ - string, - undefined | string -] { - if (value === undefined || value === null || typeof value === 'object') { - return [key, undefined] - } - return [ - encodeURIComponentPermissive(key, ',:/'), - encodeURIComponentPermissive(value.toString(), ',:/') - ] -} - -/** - * Parses output of @see serializeSimpleSearchEntry. - */ -export function parseSimpleSearchEntry( - searchParamValue: string -): null | string | boolean { - if (searchParamValue === 'true') { - return true - } - if (searchParamValue === 'false') { - return false - } - return decodeURIComponent(searchParamValue) -} - -export function encodeURIComponentPermissive( - input: string, - permittedCharacters: string -): string { - return Array.from(permittedCharacters) - .map((character) => [encodeURIComponent(character), character]) - .reduce( - (acc, [encodedCharacter, character]) => - /* @ts-expect-error API supposedly not present in compilation target, but works in major browsers */ - acc.replaceAll(encodedCharacter, character), - encodeURIComponent(input) - ) -} - -export function isSearchEntryDefined( - entry: [string, undefined | string] -): entry is [string, string] { - return entry[1] !== undefined -} - -function isAlreadyRedirected(searchParams: URLSearchParams) { - return ['v1', 'v2'].includes(searchParams.get(REDIRECTED_SEARCH_PARAM_NAME)!) -} - -/** - Dashboard state is kept on the URL for people to be able to link to what that they see. - Because dashboard state is a complex object, in the interest of readable URLs, custom serialization and parsing is in place. - - Versions - * v1: @see v1 - A custom encoding schema was used for filters, (e.g. "?page=/blog"). - This was not flexible enough and diverged from how we represented filters in the code. - - * v2: @see v2 - jsonurl library was used to serialize the state. - The links from this solution didn't always auto-sense across all platforms (e.g. Twitter), cutting off too soon and leading users to broken dashboards. - - * current version: this module. - Custom encoding. - - The purpose of this function is to redirect users from one of the previous versions to the current version, - so previous dashboard links still work. -*/ -export function maybeGetLatestReadableSearch( - searchString: string -): null | string { - const searchParams = new URLSearchParams(searchString) - if (isAlreadyRedirected(searchParams)) { - return null - } - const isCurrentVersion = searchParams.get(FILTER_URL_PARAM_NAME) - if (isCurrentVersion) { - return null - } - - const isV2 = v2.isV2(searchParams) - const isV1 = v1.isV1(searchParams) - - if (isV2) { - return stringifySearch({ - ...v2.parseSearch(searchString), - [REDIRECTED_SEARCH_PARAM_NAME]: 'v2' - }) - } - - if (isV1) { - return stringifySearch({ - ...v1.parseSearch(searchString), - [REDIRECTED_SEARCH_PARAM_NAME]: 'v1' - }) - } - - return null -} - -/** - * It's possible to set a particular segment to be always applied on the data on dashboards accessed with a shared link. - * This function ensures that the particular segment filter is set to the URL string on initial page load. - * Other functions ensure that it can't be removed. - */ -export function getSearchWithEnforcedSegment( - searchString: string, - enforcedSegment: Pick -): string { - const searchRecord = parseSearch(searchString) - return stringifySearch( - getSearchToSetSegmentFilter(enforcedSegment)(searchRecord) - ) -} - -/** Called once before React app mounts. If legacy url search params are present, does a redirect to new format. */ -export function maybeDoFERedirect( - windowLocation: Location, - windowHistory: History, - enforcedSegment: Pick | null -) { - const originalSearchString = windowLocation.search - - let updatedSearchString = maybeGetLatestReadableSearch(originalSearchString) - - if (enforcedSegment) { - updatedSearchString = getSearchWithEnforcedSegment( - updatedSearchString ?? originalSearchString, - enforcedSegment - ) - } - - if ( - updatedSearchString === null || - updatedSearchString === originalSearchString - ) { - return - } - - windowHistory.pushState( - {}, - '', - `${windowLocation.pathname}${updatedSearchString}` - ) -} diff --git a/assets/js/dashboard/util/url.test.ts b/assets/js/dashboard/util/url.test.ts deleted file mode 100644 index 0ea052423be7145823a91cf1f7962e57d9834f6a..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/url.test.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { apiPath, externalLinkForPage, isValidHttpUrl, trimURL } from './url' -import { siteContextDefaultValue } from '../site-context' - -describe('apiPath', () => { - it.each([ - ['example.com', undefined, '/api/stats/example.com/'], - ['example.com', '', '/api/stats/example.com/'], - ['example.com', '/test', '/api/stats/example.com/test/'], - [ - 'example.com/path/is-really/deep', - '', - '/api/stats/example.com%2Fpath%2Fis-really%2Fdeep/' - ] - ])( - 'when site.domain is %p and path is %s, should return %s', - (domain, path, expected) => { - const result = apiPath({ domain }, path) - expect(result).toBe(expected) - } - ) -}) - -describe('externalLinkForPage', () => { - it.each([ - ['example.com', '/about', 'https://example.com/about'], - ['sub.example.com', '/contact', 'https://sub.example.com/contact'], - [ - 'example.com', - '/search?q=test#section', - 'https://example.com/search?q=test#section' - ], - ['example.com', '/', 'https://example.com/'] - ])( - 'when domain is %s and page is %s, it should return %s', - (domain, page, expected) => { - const site = { ...siteContextDefaultValue, domain: domain } - const result = externalLinkForPage(site, page) - expect(result).toBe(expected) - } - ) - - it('returns null for consolidated view', () => { - const consolidatedView = { - ...siteContextDefaultValue, - isConsolidatedView: true - } - expect(externalLinkForPage(consolidatedView, '/some-page')).toBe(null) - }) -}) - -describe('isValidHttpUrl', () => { - it.each([ - // Valid HTTP and HTTPS URLs - ['http://example.com', true], - ['https://example.com', true], - ['http://www.example.com', true], - ['https://sub.domain.com', true], - ['https://example.com/path?query=1#fragment', true], - - // Invalid URLs (invalid protocol) - ['ftp://example.com', false], - ['mailto:someone@example.com', false], - ['file:///C:/path/to/file', false], - ['data:text/plain;base64,SGVsbG8sIFdvcmxkIQ==', false], - - // Invalid URLs (malformed or non-URL strings) - ['//example.com', false], - ['example.com', false], - ['just-a-string', false], - ['', false], - ['https//:example.com', false], - - // Edge cases - ['http:/example.com', true], - ['http://localhost', true], - ['https://127.0.0.1', true], - ['https://[::1]', true], // IPv6 URL - ['http://user:pass@127.0.0.1', true], - ['https://example.com:8080', true] - ])('for input %s returns %s', (input, expected) => { - const result = isValidHttpUrl(input) - expect(result).toBe(expected) - }) -}) - -describe('trimURL', () => { - it.each([ - // Test cases where URL length is less than or equal to maxLength - ['https://example.com', 20, 'https://example.com'], - ['http://example.com', 50, 'http://example.com'], - - // Test cases where host itself is too long - [ - 'https://a-very-long-domain-name.com', - 20, - 'https://a-very-long-dom...domain-name.com' - ] - ])( - 'when url is %s and maxLength is %d, should return %s', - (url, maxLength, expected) => { - const result = trimURL(url, maxLength) - expect(result).toBe(expected) - } - ) -}) diff --git a/assets/js/dashboard/util/url.ts b/assets/js/dashboard/util/url.ts deleted file mode 100644 index 91ed249f2f82f9810108310b39045d970783dd51..0000000000000000000000000000000000000000 --- a/assets/js/dashboard/util/url.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { PlausibleSite } from '../site-context' - -export function apiPath( - site: Pick, - path = '' -): string { - return `/api/stats/${encodeURIComponent(site.domain)}${path}/` -} - -export function externalLinkForPage( - site: PlausibleSite, - page: string, - hostname?: string -): string | null { - if (hostname) { - return `https://${hostname}${page}` - } - if (site.isConsolidatedView) { - return null - } - try { - const domainURL = new URL(`https://${site.domain}`) - return `https://${domainURL.host}${page}` - } catch (_error) { - return null - } -} - -export function isValidHttpUrl(input: string): boolean { - let url - - try { - url = new URL(input) - } catch (_) { - return false - } - - return url.protocol === 'http:' || url.protocol === 'https:' -} - -export function trimURL(url: string, maxLength: number): string { - if (url.length <= maxLength) { - return url - } - - const ellipsis = '...' - - if (isValidHttpUrl(url)) { - const [protocol, restURL] = url.split('://') - const parts = restURL.split('/') - - const host = parts.shift() || '' - if (host.length > maxLength - 5) { - return `${protocol}://${host.substr(0, maxLength - 5)}${ellipsis}${restURL.slice(-maxLength + 5)}` - } - - let remainingLength = maxLength - host.length - 5 - let trimmedURL = `${protocol}://${host}` - - for (const part of parts) { - if (part.length <= remainingLength) { - trimmedURL += '/' + part - remainingLength -= part.length + 1 - } else { - const startTrim = Math.floor((remainingLength - 3) / 2) - const endTrim = Math.ceil((remainingLength - 3) / 2) - trimmedURL += `/${part.substr(0, startTrim)}...${part.slice(-endTrim)}` - break - } - } - - return trimmedURL - } else { - const leftSideLength = Math.floor(maxLength / 2) - const rightSideLength = maxLength - leftSideLength - - const leftSide = url.slice(0, leftSideLength) - const rightSide = url.slice(-rightSideLength) - - return leftSide + ellipsis + rightSide - } -} - -export function maybeEncodeRouteParam(param: string) { - return param.includes('/') ? encodeURIComponent(param) : param -} diff --git a/assets/js/embed.content.js b/assets/js/embed.content.js deleted file mode 100644 index 81803582e06ff72f596a9a0394dc770e5ec520a6..0000000000000000000000000000000000000000 --- a/assets/js/embed.content.js +++ /dev/null @@ -1,16 +0,0 @@ -import 'iframe-resizer/js/iframeResizer.contentWindow' - -window.iFrameResizer = { - onMessage: function (msg) { - if (msg.type === 'load-custom-styles') { - addCustomStyles(msg.opts) - } - } -} - -function addCustomStyles(opts) { - var style = document.createElement('style') - style.innerHTML = opts.styles - - document.head.appendChild(style) -} diff --git a/assets/js/embed.host.js b/assets/js/embed.host.js deleted file mode 100644 index fc7d2a8fe60693214f484318a667a856a07759bd..0000000000000000000000000000000000000000 --- a/assets/js/embed.host.js +++ /dev/null @@ -1,24 +0,0 @@ -import iframeResize from 'iframe-resizer/js/iframeResizer' - -var iframes = iframeResize( - { - heightCalculationMethod: 'taggedElement', - onInit: onInit, - checkOrigin: false - }, - '[plausible-embed]' -) - -function onInit() { - var iframe = iframes[0] - var styles = iframe.getAttribute('styles') - - if (styles) { - iframe.iFrameResizer.sendMessage({ - type: 'load-custom-styles', - opts: { - styles: styles - } - }) - } -} diff --git a/assets/js/liveview/combo-box.js b/assets/js/liveview/combo-box.js deleted file mode 100644 index 041f28d9fb8026e4b8824437cb25e79ae76b49d8..0000000000000000000000000000000000000000 --- a/assets/js/liveview/combo-box.js +++ /dev/null @@ -1,98 +0,0 @@ -// Courtesy of Benjamin von Polheim: -// https://blog.devgenius.io/build-a-performat-autocomplete-using-phoenix-liveview-and-alpine-js-8bcbbed17ba7 - -export default (id) => ({ - isOpen: false, - id: id, - focus: null, - selectionInProgress: false, - firstFocusRegistered: false, - setFocus(f) { - this.focus = f - }, - initFocus() { - if (this.focus === null) { - this.setFocus(this.leastFocusableIndex()) - if (!this.firstFocusRegistered) { - document.getElementById(this.id).select() - this.firstFocusRegistered = true - } - } - }, - trackSubmitValueChange() { - this.selectionInProgress = false - }, - open() { - if (!this.isOpen) { - this.initFocus() - this.isOpen = true - } - }, - suggestionsCount() { - return this.$refs.suggestions?.querySelectorAll('li').length - }, - hasCreatableOption() { - return this.$refs.suggestions - ?.querySelector('li') - .classList.contains('creatable') - }, - leastFocusableIndex() { - if (this.suggestionsCount() === 0) { - return 0 - } - return this.hasCreatableOption() ? 0 : 1 - }, - maxFocusableIndex() { - return this.hasCreatableOption() - ? this.suggestionsCount() - 1 - : this.suggestionsCount() - }, - nextFocusableIndex() { - const currentFocus = this.focus - return currentFocus + 1 > this.maxFocusableIndex() - ? this.leastFocusableIndex() - : currentFocus + 1 - }, - prevFocusableIndex() { - const currentFocus = this.focus - return currentFocus - 1 >= this.leastFocusableIndex() - ? currentFocus - 1 - : this.maxFocusableIndex() - }, - close(e) { - // Pressing Escape should not propagate to window, - // so we'll only close the suggestions pop-up - if (this.isOpen && e.key === 'Escape') { - e.stopPropagation() - } - this.isOpen = false - }, - select() { - this.$refs[`dropdown-${this.id}-option-${this.focus}`]?.click() - this.close() - document.getElementById(this.id).blur() - }, - scrollTo(idx) { - this.$refs[`dropdown-${this.id}-option-${idx}`]?.scrollIntoView({ - block: 'nearest', - behavior: 'smooth', - inline: 'start' - }) - }, - focusNext() { - const nextIndex = this.nextFocusableIndex() - - this.open() - - this.setFocus(nextIndex) - this.scrollTo(nextIndex) - }, - focusPrev() { - const prevIndex = this.prevFocusableIndex() - - this.open() - - this.setFocus(prevIndex) - this.scrollTo(prevIndex) - } -}) diff --git a/assets/js/liveview/dropdown.js b/assets/js/liveview/dropdown.js deleted file mode 100644 index 1b016234f2fc16cd4c0a9d55c334b5c202bcbe18..0000000000000000000000000000000000000000 --- a/assets/js/liveview/dropdown.js +++ /dev/null @@ -1,20 +0,0 @@ -// From https://alpinejs.dev/component/dropdown - -export default () => ({ - open: false, - toggle() { - if (this.open) { - return this.close() - } - - this.$refs.button.focus() - this.open = true - }, - - close(focusAfter) { - if (!this.open) return - - this.open = false - focusAfter?.focus() - } -}) diff --git a/assets/js/liveview/live_socket.js b/assets/js/liveview/live_socket.js deleted file mode 100644 index 7df1ef9984c76815a5c34f972f0957f382040295..0000000000000000000000000000000000000000 --- a/assets/js/liveview/live_socket.js +++ /dev/null @@ -1,78 +0,0 @@ -/** - The modules below this comment block are resolved from '../deps' folder, - which does not exist when running the lint command in Github CI -*/ - -/* eslint-disable import/no-unresolved */ -import 'phoenix_html' -import { Socket } from 'phoenix' -import { LiveSocket } from 'phoenix_live_view' -import { Modal, Dropdown } from 'prima' -import topbar from 'topbar' -/* eslint-enable import/no-unresolved */ - -import Alpine from 'alpinejs' - -let csrfToken = document.querySelector("meta[name='csrf-token']") -let websocketUrl = document.querySelector("meta[name='websocket-url']") -if (csrfToken && websocketUrl) { - let Hooks = { Modal, Dropdown } - Hooks.Metrics = { - mounted() { - this.handleEvent('send-metrics', ({ event_name }) => { - window.plausible(event_name) - this.pushEvent('send-metrics-after', { event_name }) - }) - } - } - let Uploaders = {} - Uploaders.S3 = function (entries, onViewError) { - entries.forEach((entry) => { - let xhr = new XMLHttpRequest() - onViewError(() => xhr.abort()) - xhr.onload = () => - xhr.status === 200 ? entry.progress(100) : entry.error() - xhr.onerror = () => entry.error() - xhr.upload.addEventListener('progress', (event) => { - if (event.lengthComputable) { - let percent = Math.round((event.loaded / event.total) * 100) - if (percent < 100) { - entry.progress(percent) - } - } - }) - let url = entry.meta.url - xhr.open('PUT', url, true) - xhr.send(entry.file) - }) - } - let token = csrfToken.getAttribute('content') - let url = websocketUrl.getAttribute('content') - let liveUrl = url === '' ? '/live' : new URL('/live', url).href - let liveSocket = new LiveSocket(liveUrl, Socket, { - heartbeatIntervalMs: 10000, - params: { _csrf_token: token }, - hooks: Hooks, - uploaders: Uploaders, - dom: { - // for alpinejs integration - onBeforeElUpdated(from, to) { - if (from._x_dataStack) { - Alpine.clone(from, to) - } - } - } - }) - - topbar.config({ - barColors: { 0: '#303f9f' }, - shadowColor: 'rgba(0, 0, 0, .3)', - barThickness: 4 - }) - window.addEventListener('phx:page-loading-start', (_info) => topbar.show()) - window.addEventListener('phx:page-loading-stop', (_info) => topbar.hide()) - window.addEventListener('scroll-to-top', () => window.scrollTo(0, 0)) - - liveSocket.connect() - window.liveSocket = liveSocket -} diff --git a/assets/js/liveview/phx_events.js b/assets/js/liveview/phx_events.js deleted file mode 100644 index d2d96111e28741bd908a7b49459ebfeb6f99e67f..0000000000000000000000000000000000000000 --- a/assets/js/liveview/phx_events.js +++ /dev/null @@ -1,20 +0,0 @@ -window.addEventListener(`phx:update-value`, (e) => { - let el = document.getElementById(e.detail.id) - el.value = e.detail.value - if (e.detail.fire) { - el.dispatchEvent(new Event('input', { bubbles: true })) - } -}) - -window.addEventListener(`phx:js-exec`, ({ detail }) => { - document.querySelectorAll(detail.to).forEach((el) => { - window.liveSocket.execJS(el, el.getAttribute(detail.attr)) - }) -}) - -window.addEventListener(`phx:notify-selection-change`, (event) => { - let el = document.getElementById(event.detail.id) - el.dispatchEvent( - new CustomEvent('selection-change', { detail: event.detail }) - ) -}) diff --git a/assets/js/polyfills/closest.js b/assets/js/polyfills/closest.js deleted file mode 100644 index ab0f90eb5b30871632a8daf7d12e62f5d3d88ab2..0000000000000000000000000000000000000000 --- a/assets/js/polyfills/closest.js +++ /dev/null @@ -1,14 +0,0 @@ -if (window.Element && !Element.prototype.closest) { - Element.prototype.closest = function (s) { - var matches = (this.document || this.ownerDocument).querySelectorAll(s), - i, - // eslint-disable-next-line @typescript-eslint/no-this-alias - el = this - do { - i = matches.length - // eslint-disable-next-line no-empty - while (--i >= 0 && matches.item(i) !== el) {} - } while (i < 0 && (el = el.parentElement)) - return el - } -} diff --git a/assets/js/types/globals.d.ts b/assets/js/types/globals.d.ts deleted file mode 100644 index 95a9403976585e656121dbb48cdf9695478a537e..0000000000000000000000000000000000000000 --- a/assets/js/types/globals.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare const BUILD_EXTRA: boolean diff --git a/assets/js/types/query-api.d.ts b/assets/js/types/query-api.d.ts deleted file mode 100644 index 78a5aec67d24b4f30f12643fe253a63d13179fe3..0000000000000000000000000000000000000000 --- a/assets/js/types/query-api.d.ts +++ /dev/null @@ -1,216 +0,0 @@ -/* Autogenerated, recreate with `npm run --prefix assets generate-types` */ - -export type Metric = - | "visitors" - | "visits" - | "pageviews" - | "views_per_visit" - | "bounce_rate" - | "visit_duration" - | "events" - | "percentage" - | "conversion_rate" - | "group_conversion_rate" - | "time_on_page" - | "total_revenue" - | "average_revenue" - | "scroll_depth"; -export type DateRangeShorthand = - | "all" - | "day" - | "24h" - | "7d" - | "28d" - | "30d" - | "91d" - | "month" - | "6mo" - | "12mo" - | "year" - | string; -/** - * @minItems 2 - * @maxItems 2 - */ -export type DateTimeRange = [string, string]; -/** - * @minItems 2 - * @maxItems 2 - */ -export type DateRange = [string, string]; -export type Dimensions = SimpleFilterDimensions | CustomPropertyFilterDimensions | GoalDimension | TimeDimensions; -export type SimpleFilterDimensions = - | "event:name" - | "event:page" - | "event:hostname" - | "visit:source" - | "visit:channel" - | "visit:referrer" - | "visit:utm_medium" - | "visit:utm_source" - | "visit:utm_campaign" - | "visit:utm_content" - | "visit:utm_term" - | "visit:screen" - | "visit:device" - | "visit:browser" - | "visit:browser_version" - | "visit:os" - | "visit:os_version" - | "visit:country" - | "visit:region" - | "visit:city" - | "visit:country_name" - | "visit:region_name" - | "visit:city_name" - | "visit:entry_page" - | "visit:exit_page" - | "visit:entry_page_hostname" - | "visit:exit_page_hostname"; -export type CustomPropertyFilterDimensions = `event:props:${string}`; -export type GoalDimension = "event:goal"; -export type TimeDimensions = "time" | "time:month" | "time:week" | "time:day" | "time:hour"; -export type FilterTree = FilterEntry | FilterAndOr | FilterNot | FilterHasDone; -export type FilterEntry = FilterWithoutGoals | FilterWithIs | FilterWithContains | FilterWithPattern; -/** - * @minItems 3 - * @maxItems 4 - */ -export type FilterWithoutGoals = - | [FilterOperationWithoutGoals, SimpleFilterDimensions | CustomPropertyFilterDimensions, Clauses] - | [ - FilterOperationWithoutGoals, - SimpleFilterDimensions | CustomPropertyFilterDimensions, - Clauses, - { - case_sensitive?: boolean; - } - ]; -/** - * filter operation - */ -export type FilterOperationWithoutGoals = "is_not" | "contains_not"; -/** - * @minItems 1 - */ -export type Clauses = [string | number, ...(string | number)[]]; -/** - * @minItems 3 - * @maxItems 4 - */ -export type FilterWithIs = - | ["is", GoalDimension | SimpleFilterDimensions | CustomPropertyFilterDimensions | "segment", Clauses] - | [ - "is", - GoalDimension | SimpleFilterDimensions | CustomPropertyFilterDimensions | "segment", - Clauses, - { - case_sensitive?: boolean; - } - ]; -/** - * @minItems 3 - * @maxItems 4 - */ -export type FilterWithContains = - | ["contains", GoalDimension | SimpleFilterDimensions | CustomPropertyFilterDimensions, Clauses] - | [ - "contains", - GoalDimension | SimpleFilterDimensions | CustomPropertyFilterDimensions, - Clauses, - { - case_sensitive?: boolean; - } - ]; -/** - * @minItems 3 - * @maxItems 3 - */ -export type FilterWithPattern = [ - FilterOperationRegex, - SimpleFilterDimensions | CustomPropertyFilterDimensions, - Clauses -]; -/** - * filter operation - */ -export type FilterOperationRegex = "matches" | "matches_not"; -/** - * @minItems 2 - * @maxItems 2 - */ -export type FilterAndOr = ["and" | "or", [FilterTree, ...FilterTree[]]]; -/** - * @minItems 2 - * @maxItems 2 - */ -export type FilterNot = ["not", FilterTree]; -/** - * @minItems 2 - * @maxItems 2 - */ -export type FilterHasDone = ["has_done" | "has_not_done", FilterTree]; -/** - * @minItems 2 - * @maxItems 2 - */ -export type OrderByEntry = [ - Metric | SimpleFilterDimensions | CustomPropertyFilterDimensions | TimeDimensions, - SortDirection -]; -/** - * Sorting order - */ -export type SortDirection = "asc" | "desc"; - -export interface QueryApiSchema { - /** - * Domain of site to query - */ - site_id: string; - /** - * List of metrics to query - * - * @minItems 1 - */ - metrics: [Metric, ...Metric[]]; - /** - * Date range to query - */ - date_range: DateRangeShorthand | DateTimeRange | DateRange; - /** - * What to group the results by. Same as `property` in Plausible API v1 - */ - dimensions?: Dimensions[]; - /** - * How to drill into your data - */ - filters?: FilterTree[]; - /** - * How to order query results - */ - order_by?: OrderByEntry[]; - include?: { - time_labels?: boolean; - imports?: boolean; - /** - * If set, returns the total number of result rows rows before pagination under `meta.total_rows` - */ - total_rows?: boolean; - /** - * If set and using `day`, `month` or `year` date_ranges, the query will be trimmed to the current date - */ - trim_relative_date_range?: boolean; - }; - pagination?: Pagination; -} -export interface Pagination { - /** - * Number of rows to limit result to. - */ - limit?: number; - /** - * Pagination offset. - */ - offset?: number; -} diff --git a/assets/package-lock.json b/assets/package-lock.json deleted file mode 100644 index b32a3b16d491d51085337f30ef6f7e2e04ad6cce..0000000000000000000000000000000000000000 --- a/assets/package-lock.json +++ /dev/null @@ -1,11048 +0,0 @@ -{ - "name": "assets", - "version": "1.4.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "assets", - "version": "1.4.0", - "license": "AGPL-3.0-or-later", - "dependencies": { - "@headlessui/react": "^1.7.19", - "@heroicons/react": "^2.2.0", - "@jsonurl/jsonurl": "^1.1.7", - "@juggle/resize-observer": "^3.3.1", - "@popperjs/core": "^2.11.6", - "@tailwindcss/forms": "^0.5.10", - "@tailwindcss/typography": "^0.4.1", - "@tanstack/react-query": "^5.51.1", - "abortcontroller-polyfill": "^1.7.3", - "alpinejs": "^3.13.1", - "chart.js": "^3.3.2", - "chartjs-plugin-datalabels": "^2.2.0", - "classnames": "^2.3.1", - "d3": "^7.9.0", - "dayjs": "^1.11.7", - "fast-deep-equal": "^3.1.3", - "iframe-resizer": "^4.3.2", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-flatpickr": "3.10.5", - "react-flip-move": "^3.0.4", - "react-intersection-observer": "^9.5.2", - "react-popper": "^2.3.0", - "react-router-dom": "^6.25.1", - "react-transition-group": "^4.4.2", - "topbar": "^3.0.0", - "topojson-client": "^3.1.0", - "url-search-params-polyfill": "^8.2.5", - "visionscarto-world-atlas": "^1.0.0" - }, - "devDependencies": { - "@eslint/js": "^9.23.0", - "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.4.8", - "@testing-library/react": "^16.0.0", - "@testing-library/user-event": "^14.5.2", - "@types/d3": "^7.4.3", - "@types/jest": "^29.5.12", - "@types/react": "^18.3.3", - "@types/react-dom": "^18.3.0", - "@types/react-flatpickr": "^3.8.11", - "@types/topojson-client": "^3.1.4", - "eslint": "^9.23.0", - "eslint-config-prettier": "^10.1.1", - "eslint-import-resolver-typescript": "^4.3.1", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jest": "^28.11.0", - "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-react": "^7.37.5", - "eslint-plugin-react-hooks": "^5.2.0", - "globals": "^16.0.0", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "jsdom-testing-mocks": "^1.13.1", - "json-schema-to-typescript": "^15.0.2", - "prettier": "^3.3.3", - "stylelint": "^16.17.0", - "stylelint-config-standard": "^36.0.1", - "ts-jest": "^29.2.4", - "typescript": "^5.5.4", - "typescript-eslint": "^8.29.0" - } - }, - "node_modules/@adobe/css-tools": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", - "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", - "dev": true - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@apidevtools/json-schema-ref-parser": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-11.7.0.tgz", - "integrity": "sha512-pRrmXMCwnmrkS3MLgAIW5dXRzeTv6GLjkjb4HmxNnvAKXN1Nfzp4KmGADBQvlVUcqi+a5D+hfGDLLnd5NnYxog==", - "dev": true, - "dependencies": { - "@jsdevtools/ono": "^7.1.3", - "@types/json-schema": "^7.0.15", - "js-yaml": "^4.1.0" - }, - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/philsturgeon" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz", - "integrity": "sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", - "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/helper-compilation-targets": "^7.25.2", - "@babel/helper-module-transforms": "^7.25.2", - "@babel/helpers": "^7.25.0", - "@babel/parser": "^7.25.0", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.2", - "@babel/types": "^7.25.2", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/generator": { - "version": "7.25.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz", - "integrity": "sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.0", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", - "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.25.2", - "@babel/helper-validator-option": "^7.24.8", - "browserslist": "^4.23.1", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", - "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.25.2", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", - "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-simple-access": "^7.24.7", - "@babel/helper-validator-identifier": "^7.24.7", - "@babel/traverse": "^7.25.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", - "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", - "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.24.7", - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.24.8", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", - "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.0.tgz", - "integrity": "sha512-U5eyP/CTFPuNE3qk+WZMxFkp/4zUzdceQlfzf7DdGdhp+Fezd7HD+i8Y24ZuTMKX3wQBld449jijbGq6OdGNQg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.27.0", - "@babel/types": "^7.27.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.0.tgz", - "integrity": "sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.27.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", - "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", - "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.27.0.tgz", - "integrity": "sha512-VtPOkrdPHZsKc/clNqyi9WUA8TINkZ4cGk63UUE3u4pmB2k+ZMQRDuIOagv8UVd6j7k0T3+RRIb7beKTebNbcw==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.0.tgz", - "integrity": "sha512-2ncevenBqXI6qRMukPlXwHKHchC7RyMuu4xv5JBXRfOGVcTy1mXCD12qrp7Jsoxll1EV3+9sE4GugBVRjT2jFA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.27.0", - "@babel/types": "^7.27.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.25.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz", - "integrity": "sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/generator": "^7.25.0", - "@babel/parser": "^7.25.3", - "@babel/template": "^7.25.0", - "@babel/types": "^7.25.2", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.0.tgz", - "integrity": "sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@csstools/css-parser-algorithms": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz", - "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-tokenizer": "^3.0.3" - } - }, - "node_modules/@csstools/css-tokenizer": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz", - "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/@csstools/media-query-list-parser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-4.0.2.tgz", - "integrity": "sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3" - } - }, - "node_modules/@dual-bundle/import-meta-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@dual-bundle/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", - "integrity": "sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/@emnapi/core": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.0.tgz", - "integrity": "sha512-H+N/FqT07NmLmt6OFFtDfwe8PNygprzBikrEMyQfgqSmT0vzE515Pz7R8izwB9q/zsH/MA64AKoul3sA6/CzVg==", - "dev": true, - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.0.1", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.0.tgz", - "integrity": "sha512-64WYIf4UYcdLnbKn/umDlNjQDSS8AgZrI/R9+x5ilkUVFxXcA1Ebl+gQLc/6mERA4407Xof0R7wEyEuj091CVw==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", - "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.1.tgz", - "integrity": "sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.16.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz", - "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.38.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.38.0.tgz", - "integrity": "sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz", - "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.16.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@headlessui/react": { - "version": "1.7.19", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.19.tgz", - "integrity": "sha512-Ll+8q3OlMJfJbAKM/+/Y2q6PPYbryqNTXDbryx7SXLIDamkF6iQFbriYHga0dY44PvDhvvBWCx1Xj4U5+G4hOw==", - "license": "MIT", - "dependencies": { - "@tanstack/react-virtual": "^3.0.0-beta.60", - "client-only": "^0.0.1" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16 || ^17 || ^18", - "react-dom": "^16 || ^17 || ^18" - } - }, - "node_modules/@heroicons/react": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.2.0.tgz", - "integrity": "sha512-LMcepvRaS9LYHJGsF0zzmgKCUim/X3N/DQKc4jepAXJ7l8QxJ1PmxJzqplF2Z3FE4PqBAIGyJAQ/w4B5dsqbtQ==", - "peerDependencies": { - "react": ">= 16 || ^19.0.0-rc" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", - "dev": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", - "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", - "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/reporters": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^29.7.0", - "jest-config": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-resolve-dependencies": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "jest-watcher": "^29.7.0", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/environment": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", - "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", - "dev": true, - "dependencies": { - "expect": "^29.7.0", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", - "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@sinonjs/fake-timers": "^10.0.2", - "@types/node": "*", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", - "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/types": "^29.6.3", - "jest-mock": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", - "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^6.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "slash": "^3.0.0", - "string-length": "^4.0.1", - "strip-ansi": "^6.0.0", - "v8-to-istanbul": "^9.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/source-map": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", - "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.18", - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-result": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", - "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", - "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/@jest/transform/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", - "dev": true - }, - "node_modules/@jsonurl/jsonurl": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@jsonurl/jsonurl/-/jsonurl-1.1.7.tgz", - "integrity": "sha512-H3aKlfSjVoUhhNRO+2HDtVNq8UT0TV8kyAgJ29bETLdjU6Xz3s1PMzbRkfcAdwuwzHjiisabHpJoP8p+hju6bA==" - }, - "node_modules/@juggle/resize-observer": { - "version": "3.3.1", - "license": "Apache-2.0" - }, - "node_modules/@keyv/serialize": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.3.tgz", - "integrity": "sha512-qnEovoOp5Np2JDGonIDL6Ayihw0RhnRh6vxPuHo4RDn1UOzwEo4AeIfpL6UGIrsceWrCMiVPgwRjbHu4vYFc3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.7.tgz", - "integrity": "sha512-5yximcFK5FNompXfJFoWanu5l8v1hNGqNHh9du1xETp9HWk/B/PzvchX55WYOPaIeNglG8++68AAiauBAtbnzw==", - "dev": true, - "optional": true, - "dependencies": { - "@emnapi/core": "^1.3.1", - "@emnapi/runtime": "^1.3.1", - "@tybys/wasm-util": "^0.9.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.6", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@remix-run/router": { - "version": "1.23.2", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.2.tgz", - "integrity": "sha512-Ic6m2U/rMjTkhERIa/0ZtXJP17QUi2CbWE7cqx4J58M8aA3QTfW+2UlQ4psvTX9IO1RfNVhK3pcpdjej7L+t2w==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true - }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@tailwindcss/forms": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.10.tgz", - "integrity": "sha512-utI1ONF6uf/pPNO68kmN1b8rEwNXv3czukalo8VtJH8ksIkZXr3Q3VYudZLkCsDd4Wku120uF02hYK25XGPorw==", - "license": "MIT", - "dependencies": { - "mini-svg-data-uri": "^1.2.3" - }, - "peerDependencies": { - "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1" - } - }, - "node_modules/@tailwindcss/typography": { - "version": "0.4.1", - "license": "MIT", - "dependencies": { - "lodash.castarray": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.merge": "^4.6.2", - "lodash.uniq": "^4.5.0" - }, - "peerDependencies": { - "tailwindcss": ">=2.0.0" - } - }, - "node_modules/@tanstack/query-core": { - "version": "5.51.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.51.1.tgz", - "integrity": "sha512-fJBMQMpo8/KSsWW5ratJR5+IFr7YNJ3K2kfP9l5XObYHsgfVy1w3FJUWU4FT2fj7+JMaEg33zOcNDBo0LMwHnw==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-query": { - "version": "5.51.1", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.51.1.tgz", - "integrity": "sha512-s47HKFnQ4HOJAHoIiXcpna/roMMPZJPy6fJ6p4ZNVn8+/onlLBEDd1+xc8OnDuwgvecqkZD7Z2mnSRbcWefrKw==", - "dependencies": { - "@tanstack/query-core": "5.51.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^18.0.0" - } - }, - "node_modules/@tanstack/react-virtual": { - "version": "3.13.5", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.13.5.tgz", - "integrity": "sha512-MzSSMGkFWCDSb2xXqmdbfQqBG4wcRI3JKVjpYGZG0CccnViLpfRW4tGU97ImfBbSYzvEWJ/2SK/OiIoSmcUBAA==", - "dependencies": { - "@tanstack/virtual-core": "3.13.5" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@tanstack/virtual-core": { - "version": "3.13.5", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.5.tgz", - "integrity": "sha512-gMLNylxhJdUlfRR1G3U9rtuwUh2IjdrrniJIDcekVJN3/3i+bluvdMi3+eodnxzJq5nKnxnigo9h0lIpaqV6HQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@testing-library/dom": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.0.tgz", - "integrity": "sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.3.0", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/@testing-library/jest-dom": { - "version": "6.4.8", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.8.tgz", - "integrity": "sha512-JD0G+Zc38f5MBHA4NgxQMR5XtO5Jx9g86jqturNTt2WUfRmLDIY7iKkWHDCCTiDuFMre6nxAD5wHw9W5kI4rGw==", - "dev": true, - "dependencies": { - "@adobe/css-tools": "^4.4.0", - "@babel/runtime": "^7.9.2", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.6.3", - "lodash": "^4.17.21", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=14", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", - "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", - "dev": true - }, - "node_modules/@testing-library/react": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-16.0.0.tgz", - "integrity": "sha512-guuxUKRWQ+FgNX0h0NS0FIq3Q3uLtWVpBzcLOggmfMoUpgBnzBzvLLd4fbm6yS8ydJd94cIfY4yP9qUQjM2KwQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@testing-library/dom": "^10.0.0", - "@types/react": "^18.0.0", - "@types/react-dom": "^18.0.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@testing-library/user-event": { - "version": "14.5.2", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", - "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", - "dev": true, - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", - "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", - "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.6", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", - "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/d3": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz", - "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", - "dev": true, - "dependencies": { - "@types/d3-array": "*", - "@types/d3-axis": "*", - "@types/d3-brush": "*", - "@types/d3-chord": "*", - "@types/d3-color": "*", - "@types/d3-contour": "*", - "@types/d3-delaunay": "*", - "@types/d3-dispatch": "*", - "@types/d3-drag": "*", - "@types/d3-dsv": "*", - "@types/d3-ease": "*", - "@types/d3-fetch": "*", - "@types/d3-force": "*", - "@types/d3-format": "*", - "@types/d3-geo": "*", - "@types/d3-hierarchy": "*", - "@types/d3-interpolate": "*", - "@types/d3-path": "*", - "@types/d3-polygon": "*", - "@types/d3-quadtree": "*", - "@types/d3-random": "*", - "@types/d3-scale": "*", - "@types/d3-scale-chromatic": "*", - "@types/d3-selection": "*", - "@types/d3-shape": "*", - "@types/d3-time": "*", - "@types/d3-time-format": "*", - "@types/d3-timer": "*", - "@types/d3-transition": "*", - "@types/d3-zoom": "*" - } - }, - "node_modules/@types/d3-array": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", - "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==", - "dev": true - }, - "node_modules/@types/d3-axis": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz", - "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", - "dev": true, - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-brush": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz", - "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", - "dev": true, - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-chord": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz", - "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", - "dev": true - }, - "node_modules/@types/d3-color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", - "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", - "dev": true - }, - "node_modules/@types/d3-contour": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz", - "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", - "dev": true, - "dependencies": { - "@types/d3-array": "*", - "@types/geojson": "*" - } - }, - "node_modules/@types/d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", - "dev": true - }, - "node_modules/@types/d3-dispatch": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.6.tgz", - "integrity": "sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==", - "dev": true - }, - "node_modules/@types/d3-drag": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz", - "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", - "dev": true, - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-dsv": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", - "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", - "dev": true - }, - "node_modules/@types/d3-ease": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", - "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", - "dev": true - }, - "node_modules/@types/d3-fetch": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", - "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", - "dev": true, - "dependencies": { - "@types/d3-dsv": "*" - } - }, - "node_modules/@types/d3-force": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz", - "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", - "dev": true - }, - "node_modules/@types/d3-format": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz", - "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", - "dev": true - }, - "node_modules/@types/d3-geo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz", - "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", - "dev": true, - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@types/d3-hierarchy": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", - "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", - "dev": true - }, - "node_modules/@types/d3-interpolate": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", - "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", - "dev": true, - "dependencies": { - "@types/d3-color": "*" - } - }, - "node_modules/@types/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==", - "dev": true - }, - "node_modules/@types/d3-polygon": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", - "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", - "dev": true - }, - "node_modules/@types/d3-quadtree": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", - "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", - "dev": true - }, - "node_modules/@types/d3-random": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz", - "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", - "dev": true - }, - "node_modules/@types/d3-scale": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", - "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", - "dev": true, - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-scale-chromatic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.0.3.tgz", - "integrity": "sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==", - "dev": true - }, - "node_modules/@types/d3-selection": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.10.tgz", - "integrity": "sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==", - "dev": true - }, - "node_modules/@types/d3-shape": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", - "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", - "dev": true, - "dependencies": { - "@types/d3-path": "*" - } - }, - "node_modules/@types/d3-time": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", - "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==", - "dev": true - }, - "node_modules/@types/d3-time-format": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", - "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", - "dev": true - }, - "node_modules/@types/d3-timer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", - "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", - "dev": true - }, - "node_modules/@types/d3-transition": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.8.tgz", - "integrity": "sha512-ew63aJfQ/ms7QQ4X7pk5NxQ9fZH/z+i24ZfJ6tJSfqxJMrYLiK01EAs2/Rtw/JreGUsS3pLPNV644qXFGnoZNQ==", - "dev": true, - "dependencies": { - "@types/d3-selection": "*" - } - }, - "node_modules/@types/d3-zoom": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", - "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", - "dev": true, - "dependencies": { - "@types/d3-interpolate": "*", - "@types/d3-selection": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true - }, - "node_modules/@types/geojson": { - "version": "7946.0.14", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", - "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==", - "dev": true - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "29.5.12", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.12.tgz", - "integrity": "sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==", - "dev": true, - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" - } - }, - "node_modules/@types/jsdom": { - "version": "20.0.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", - "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/tough-cookie": "*", - "parse5": "^7.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/lodash": { - "version": "4.17.7", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz", - "integrity": "sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.2.0.tgz", - "integrity": "sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==", - "dev": true, - "dependencies": { - "undici-types": "~6.13.0" - } - }, - "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.3.3", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", - "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", - "dev": true, - "dependencies": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-flatpickr": { - "version": "3.8.11", - "resolved": "https://registry.npmjs.org/@types/react-flatpickr/-/react-flatpickr-3.8.11.tgz", - "integrity": "sha512-wXGyGRpUjiGknioxWzWJdNvF2XxKw5lAI7H64Iv7w4iL+1iT7QvAzrigz5FkW4lTg9IJOww6t7g21FzsrmRV6A==", - "dev": true, - "dependencies": { - "@types/react": "*", - "flatpickr": "^4.0.6" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", - "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", - "dev": true - }, - "node_modules/@types/topojson-client": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/@types/topojson-client/-/topojson-client-3.1.4.tgz", - "integrity": "sha512-Ntf3ZSetMYy7z3PrVCvcqmdRoVhgKA9UKN0ZuuZf8Ts2kcyL4qK34IXBs6qO5fem62EK4k03PtkJPVoroVu4/w==", - "dev": true, - "dependencies": { - "@types/geojson": "*", - "@types/topojson-specification": "*" - } - }, - "node_modules/@types/topojson-specification": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/topojson-specification/-/topojson-specification-1.0.5.tgz", - "integrity": "sha512-C7KvcQh+C2nr6Y2Ub4YfgvWvWCgP2nOQMtfhlnwsRL4pYmmwzBS7HclGiS87eQfDOU/DLQpX6GEscviaz4yLIQ==", - "dev": true, - "dependencies": { - "@types/geojson": "*" - } - }, - "node_modules/@types/tough-cookie": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", - "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", - "dev": true - }, - "node_modules/@types/yargs": { - "version": "17.0.33", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", - "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.0.tgz", - "integrity": "sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/type-utils": "8.29.0", - "@typescript-eslint/utils": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.0.tgz", - "integrity": "sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/typescript-estree": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.0.tgz", - "integrity": "sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.0.tgz", - "integrity": "sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "8.29.0", - "@typescript-eslint/utils": "8.29.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.0.tgz", - "integrity": "sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.0.tgz", - "integrity": "sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/visitor-keys": "8.29.0", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.0.tgz", - "integrity": "sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.29.0", - "@typescript-eslint/types": "8.29.0", - "@typescript-eslint/typescript-estree": "8.29.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.0.tgz", - "integrity": "sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.29.0", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.3.3.tgz", - "integrity": "sha512-EpRILdWr3/xDa/7MoyfO7JuBIJqpBMphtu4+80BK1bRfFcniVT74h3Z7q1+WOc92FuIAYatB1vn9TJR67sORGw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.3.3.tgz", - "integrity": "sha512-ntj/g7lPyqwinMJWZ+DKHBse8HhVxswGTmNgFKJtdgGub3M3zp5BSZ3bvMP+kBT6dnYJLSVlDqdwOq1P8i0+/g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.3.3.tgz", - "integrity": "sha512-l6BT8f2CU821EW7U8hSUK8XPq4bmyTlt9Mn4ERrfjJNoCw0/JoHAh9amZZtV3cwC3bwwIat+GUnrcHTG9+qixw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.3.3.tgz", - "integrity": "sha512-8ScEc5a4y7oE2BonRvzJ+2GSkBaYWyh0/Ko4Q25e/ix6ANpJNhwEPZvCR6GVRmsQAYMIfQvYLdM6YEN+qRjnAQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.3.3.tgz", - "integrity": "sha512-8qQ6l1VTzLNd3xb2IEXISOKwMGXDCzY/UNy/7SovFW2Sp0K3YbL7Ao7R18v6SQkLqQlhhqSBIFRk+u6+qu5R5A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.3.3.tgz", - "integrity": "sha512-v81R2wjqcWXJlQY23byqYHt9221h4anQ6wwN64oMD/WAE+FmxPHFZee5bhRkNVtzqO/q7wki33VFWlhiADwUeQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.3.3.tgz", - "integrity": "sha512-cAOx/j0u5coMg4oct/BwMzvWJdVciVauUvsd+GQB/1FZYKQZmqPy0EjJzJGbVzFc6gbnfEcSqvQE6gvbGf2N8Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.3.3.tgz", - "integrity": "sha512-mq2blqwErgDJD4gtFDlTX/HZ7lNP8YCHYFij2gkXPtMzrXxPW1hOtxL6xg4NWxvnj4bppppb0W3s/buvM55yfg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.3.3.tgz", - "integrity": "sha512-u0VRzfFYysarYHnztj2k2xr+eu9rmgoTUUgCCIT37Nr+j0A05Xk2c3RY8Mh5+DhCl2aYibihnaAEJHeR0UOFIQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.3.3.tgz", - "integrity": "sha512-OrVo5ZsG29kBF0Ug95a2KidS16PqAMmQNozM6InbquOfW/udouk063e25JVLqIBhHLB2WyBnixOQ19tmeC/hIg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.3.3.tgz", - "integrity": "sha512-PYnmrwZ4HMp9SkrOhqPghY/aoL+Rtd4CQbr93GlrRTjK6kDzfMfgz3UH3jt6elrQAfupa1qyr1uXzeVmoEAxUA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.3.3.tgz", - "integrity": "sha512-81AnQY6fShmktQw4hWDUIilsKSdvr/acdJ5azAreu2IWNlaJOKphJSsUVWE+yCk6kBMoQyG9ZHCb/krb5K0PEA==", - "cpu": [ - "wasm32" - ], - "dev": true, - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.7" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.3.3.tgz", - "integrity": "sha512-X/42BMNw7cW6xrB9syuP5RusRnWGoq+IqvJO8IDpp/BZg64J1uuIW6qA/1Cl13Y4LyLXbJVYbYNSKwR/FiHEng==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.3.3.tgz", - "integrity": "sha512-EGNnNGQxMU5aTN7js3ETYvuw882zcO+dsVjs+DwO2j/fRVKth87C8e2GzxW1L3+iWAXMyJhvFBKRavk9Og1Z6A==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.3.3.tgz", - "integrity": "sha512-GraLbYqOJcmW1qY3osB+2YIiD62nVf2/bVLHZmrb4t/YSUwE03l7TwcDJl08T/Tm3SVhepX8RQkpzWbag/Sb4w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@vue/reactivity": { - "version": "3.1.5", - "license": "MIT", - "dependencies": { - "@vue/shared": "3.1.5" - } - }, - "node_modules/@vue/shared": { - "version": "3.1.5", - "license": "MIT" - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "deprecated": "Use your platform's native atob() and btoa() methods instead", - "dev": true - }, - "node_modules/abortcontroller-polyfill": { - "version": "1.7.5", - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", - "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", - "dev": true, - "dependencies": { - "acorn": "^8.1.0", - "acorn-walk": "^8.0.2" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", - "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", - "dev": true, - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/alpinejs": { - "version": "3.13.1", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "~3.1.1" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "license": "MIT", - "peer": true - }, - "node_modules/anymatch": { - "version": "3.1.3", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "license": "MIT", - "peer": true - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", - "dev": true - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz", - "integrity": "sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", - "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/babel-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", - "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.7.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^29.6.3", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", - "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.1.14", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", - "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/bezier-easing": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/bezier-easing/-/bezier-easing-2.1.0.tgz", - "integrity": "sha512-gbIqZ/eslnUFC1tjEvtz0sgx+xTK20wDnYMIA27VA04R7w6xxXQPZDbibjA9DTWZRA2CXtwHykkVzlCaAJAZig==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", - "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001646", - "electron-to-chromium": "^1.5.4", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/cacheable": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.8.9.tgz", - "integrity": "sha512-FicwAUyWnrtnd4QqYAoRlNs44/a1jTL7XDKqm5gJ90wz1DQPlC7U2Rd1Tydpv+E7WAr4sQHuw8Q8M3nZMAyecQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "hookified": "^1.7.1", - "keyv": "^5.3.1" - } - }, - "node_modules/cacheable/node_modules/keyv": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.2.tgz", - "integrity": "sha512-Lji2XRxqqa5Wg+CHLVfFKBImfJZ4pCSccu9eVWK6w4c2SDFLd8JAn1zqTuSFnsxb7ope6rMsnIHfp+eBbRBRZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@keyv/serialize": "^1.0.3" - } - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001651", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001651.tgz", - "integrity": "sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chart.js": { - "version": "3.9.1", - "license": "MIT" - }, - "node_modules/chartjs-plugin-datalabels": { - "version": "2.2.0", - "license": "MIT", - "peerDependencies": { - "chart.js": ">=3.0.0" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "peer": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "license": "ISC", - "peer": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, - "node_modules/cjs-module-lexer": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz", - "integrity": "sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==", - "dev": true - }, - "node_modules/classnames": { - "version": "2.3.1", - "license": "MIT" - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "license": "MIT" - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/colord": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", - "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", - "dev": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "license": "MIT" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/create-jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", - "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "prompts": "^2.0.1" - }, - "bin": { - "create-jest": "bin/create-jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/create-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-functions-list": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz", - "integrity": "sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12 || >=16" - } - }, - "node_modules/css-mediaquery": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/css-mediaquery/-/css-mediaquery-0.1.2.tgz", - "integrity": "sha512-COtn4EROW5dBGlE/4PiKnh6rZpAPxDeFLaEEwt4i10jpDMFt2EhQGS79QmmrO+iKCHv0PU/HrOWEhijFd1x99Q==", - "dev": true, - "license": "BSD" - }, - "node_modules/css-tree": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", - "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdn-data": "2.12.2", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true - }, - "node_modules/cssesc": { - "version": "3.0.0", - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssom": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", - "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/csstype": { - "version": "3.1.2", - "license": "MIT" - }, - "node_modules/d3": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz", - "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", - "dependencies": { - "d3-array": "3", - "d3-axis": "3", - "d3-brush": "3", - "d3-chord": "3", - "d3-color": "3", - "d3-contour": "4", - "d3-delaunay": "6", - "d3-dispatch": "3", - "d3-drag": "3", - "d3-dsv": "3", - "d3-ease": "3", - "d3-fetch": "3", - "d3-force": "3", - "d3-format": "3", - "d3-geo": "3", - "d3-hierarchy": "3", - "d3-interpolate": "3", - "d3-path": "3", - "d3-polygon": "3", - "d3-quadtree": "3", - "d3-random": "3", - "d3-scale": "4", - "d3-scale-chromatic": "3", - "d3-selection": "3", - "d3-shape": "3", - "d3-time": "3", - "d3-time-format": "4", - "d3-timer": "3", - "d3-transition": "3", - "d3-zoom": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-axis": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz", - "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-brush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz", - "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "3", - "d3-transition": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-chord": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz", - "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", - "dependencies": { - "d3-path": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-contour": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz", - "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", - "dependencies": { - "d3-array": "^3.2.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-delaunay": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz", - "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", - "dependencies": { - "delaunator": "5" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-drag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz", - "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-selection": "3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "dependencies": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json.js", - "csv2tsv": "bin/dsv2dsv.js", - "dsv2dsv": "bin/dsv2dsv.js", - "dsv2json": "bin/dsv2json.js", - "json2csv": "bin/json2dsv.js", - "json2dsv": "bin/json2dsv.js", - "json2tsv": "bin/json2dsv.js", - "tsv2csv": "bin/dsv2dsv.js", - "tsv2json": "bin/dsv2json.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-fetch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz", - "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", - "dependencies": { - "d3-dsv": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-geo": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz", - "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", - "dependencies": { - "d3-array": "2.5.0 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-polygon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz", - "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-random": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz", - "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale-chromatic": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", - "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", - "dependencies": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-selection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz", - "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-transition": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz", - "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", - "dependencies": { - "d3-color": "1 - 3", - "d3-dispatch": "1 - 3", - "d3-ease": "1 - 3", - "d3-interpolate": "1 - 3", - "d3-timer": "1 - 3" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "d3-selection": "2 - 3" - } - }, - "node_modules/d3-zoom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz", - "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-drag": "2 - 3", - "d3-interpolate": "1 - 3", - "d3-selection": "2 - 3", - "d3-transition": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/data-urls": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", - "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/dayjs": { - "version": "1.11.7", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", - "dev": true - }, - "node_modules/dedent": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", - "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", - "dev": true, - "peerDependencies": { - "babel-plugin-macros": "^3.1.0" - }, - "peerDependenciesMeta": { - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delaunator": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz", - "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==", - "dependencies": { - "robust-predicates": "^3.0.2" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "license": "Apache-2.0", - "peer": true - }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "license": "MIT", - "peer": true - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/domexception": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", - "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", - "deprecated": "Use your platform's native DOMException instead", - "dev": true, - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/ejs": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", - "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", - "dev": true, - "dependencies": { - "jake": "^10.8.5" - }, - "bin": { - "ejs": "bin/cli.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.6", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.6.tgz", - "integrity": "sha512-jwXWsM5RPf6j9dPYzaorcBSUg6AiqocPEyMpkchkvntaH9HGfOOMZwxMJjDY/XEs3T5dM7uyH1VhRMkqUU9qVw==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", - "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.23.9", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", - "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.0", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-regex": "^1.2.1", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.0", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.3", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.18" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/eslint": { - "version": "9.38.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz", - "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.1", - "@eslint/core": "^0.16.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.38.0", - "@eslint/plugin-kit": "^0.4.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-prettier": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz", - "integrity": "sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.3.1.tgz", - "integrity": "sha512-/dR9YMomeBlvfuvX5q0C3Y/2PHC9OCRdT2ijFwdfq/4Bq+4m5/lqstEp9k3P6ocha1pCbhoY9fkwVYLmOqR0VQ==", - "dev": true, - "dependencies": { - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.12", - "unrs-resolver": "^1.3.3" - }, - "engines": { - "node": "^16.17.0 || >=18.6.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz", - "integrity": "sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.31.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz", - "integrity": "sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==", - "dev": true, - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.8", - "array.prototype.findlastindex": "^1.2.5", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.0", - "hasown": "^2.0.2", - "is-core-module": "^2.15.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.0", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.8", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-jest": { - "version": "28.11.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.11.0.tgz", - "integrity": "sha512-QAfipLcNCWLVocVbZW8GimKn5p5iiMcgGbRzz8z/P5q7xw+cNEpYqyzFMtIF/ZgF2HLOyy+dYBut+DoYolvqig==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "engines": { - "node": "^16.10.0 || ^18.12.0 || >=20.0.0" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0 || ^8.0.0", - "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", - "jest": "*" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "dev": true, - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dev": true, - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dev": true, - "dependencies": { - "minimatch": "^5.0.1" - } - }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatpickr": { - "version": "4.6.13", - "license": "MIT" - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.0.tgz", - "integrity": "sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==", - "dev": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/global-modules": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "global-prefix": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/global-prefix/node_modules/which": { - "version": "1.3.1", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/globals": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", - "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globjoin": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hookified": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.8.1.tgz", - "integrity": "sha512-GrO2l93P8xCWBSTBX9l2BxI78VU/MAAYag+pG8curS3aBGy0++ZlxrQ7PdUOUVMbn5BwkGb6+eRrnf43ipnFEA==", - "dev": true, - "license": "MIT" - }, - "node_modules/html-encoding-sniffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", - "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/html-tags": { - "version": "3.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/http-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", - "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", - "dev": true, - "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/iframe-resizer": { - "version": "4.3.2", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - }, - "funding": { - "type": "individual", - "url": "https://github.com/davidjbradshaw/iframe-resizer/blob/master/FUNDING.md" - } - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", - "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "dev": true, - "license": "ISC" - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "license": "MIT", - "peer": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bun-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", - "dev": true, - "dependencies": { - "semver": "^7.7.1" - } - }, - "node_modules/is-bun-module/node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", - "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "get-proto": "^1.0.0", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.23.9", - "@istanbuljs/schema": "^0.1.3", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jake": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", - "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", - "dev": true, - "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" - }, - "bin": { - "jake": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", - "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/types": "^29.6.3", - "import-local": "^3.0.2", - "jest-cli": "^29.7.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", - "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", - "dev": true, - "dependencies": { - "execa": "^5.0.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", - "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/expect": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^1.0.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.7.0", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.7.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-jest": "^29.7.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-circus": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-runner": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "@types/node": "*", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-docblock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", - "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", - "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "jest-util": "^29.7.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", - "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/jsdom": "^20.0.0", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0", - "jsdom": "^20.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jest-environment-node": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", - "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-mock": "^29.7.0", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-leak-detector": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", - "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", - "dev": true, - "dependencies": { - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-mock": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", - "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "jest-util": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", - "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "resolve": "^1.20.0", - "resolve.exports": "^2.0.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", - "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", - "dev": true, - "dependencies": { - "jest-regex-util": "^29.6.3", - "jest-snapshot": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.7.0", - "@jest/fake-timers": "^29.7.0", - "@jest/globals": "^29.7.0", - "@jest/source-map": "^29.6.3", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-mock": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-resolve": "^29.7.0", - "jest-snapshot": "^29.7.0", - "jest-util": "^29.7.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", - "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-jsx": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^29.7.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0", - "natural-compare": "^1.4.0", - "pretty-format": "^29.7.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", - "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, - "dependencies": { - "@jest/types": "^29.6.3", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^29.6.3", - "leven": "^3.1.0", - "pretty-format": "^29.7.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, - "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.19.3", - "license": "MIT", - "peer": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsdom": { - "version": "20.0.3", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", - "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.6", - "acorn": "^8.8.1", - "acorn-globals": "^7.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.2", - "decimal.js": "^10.4.2", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", - "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.1", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", - "parse5": "^7.1.1", - "saxes": "^6.0.0", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.1.2", - "w3c-xmlserializer": "^4.0.0", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0", - "ws": "^8.11.0", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsdom-testing-mocks": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/jsdom-testing-mocks/-/jsdom-testing-mocks-1.13.1.tgz", - "integrity": "sha512-8BAsnuoO4DLGTf7LDbSm8fcx5CUHSv4h+bdUbwyt6rMYAXWjeHLRx9f8sYiSxoOTXy3S1e06pe87KER39o1ckA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bezier-easing": "^2.1.0", - "css-mediaquery": "^0.1.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-to-typescript": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/json-schema-to-typescript/-/json-schema-to-typescript-15.0.2.tgz", - "integrity": "sha512-+cRBw+bBJ3k783mZroDIgz1pLNPB4hvj6nnbHTWwEVl0dkW8qdZ+M9jWhBb+Y0FAdHvNsXACga3lewGO8lktrw==", - "dev": true, - "dependencies": { - "@apidevtools/json-schema-ref-parser": "^11.5.5", - "@types/json-schema": "^7.0.15", - "@types/lodash": "^4.17.7", - "glob": "^10.3.12", - "is-glob": "^4.0.3", - "js-yaml": "^4.1.0", - "lodash": "^4.17.21", - "minimist": "^1.2.8", - "prettier": "^3.2.5" - }, - "bin": { - "json2ts": "dist/src/cli.js" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/json-schema-to-typescript/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/json-schema-to-typescript/node_modules/glob": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", - "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/json-schema-to-typescript/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/known-css-properties": { - "version": "0.35.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.35.0.tgz", - "integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==", - "dev": true, - "license": "MIT" - }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "dev": true - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "license": "MIT" - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.castarray": { - "version": "4.4.0", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "license": "MIT" - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdn-data": { - "version": "2.12.2", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", - "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/meow": { - "version": "13.2.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", - "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/mini-svg-data-uri": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", - "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", - "license": "MIT", - "bin": { - "mini-svg-data-uri": "cli.js" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/mz": { - "version": "2.7.0", - "license": "MIT", - "peer": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/nwsapi": { - "version": "2.2.12", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz", - "integrity": "sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w==", - "dev": true - }, - "node_modules/object-assign": { - "version": "4.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "license": "MIT", - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "license": "MIT", - "peer": true, - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.1", - "license": "MIT", - "peer": true, - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.3.2", - "license": "ISC", - "peer": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "license": "MIT", - "peer": true, - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz", - "integrity": "sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-safe-parser": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz", - "integrity": "sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "engines": { - "node": ">=18.0" - }, - "peerDependencies": { - "postcss": "^8.4.31" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz", - "integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==", - "peer": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", - "dev": true - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pure-rand": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", - "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/dubzzz" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fast-check" - } - ] - }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" - }, - "peerDependencies": { - "react": "^18.3.1" - } - }, - "node_modules/react-fast-compare": { - "version": "3.2.0", - "license": "MIT" - }, - "node_modules/react-flatpickr": { - "version": "3.10.5", - "license": "MIT", - "dependencies": { - "flatpickr": "^4.6.2", - "prop-types": "^15.5.10" - } - }, - "node_modules/react-flip-move": { - "version": "3.0.5", - "license": "MIT", - "peerDependencies": { - "react": ">=16.3.x", - "react-dom": ">=16.3.x" - } - }, - "node_modules/react-intersection-observer": { - "version": "9.5.2", - "license": "MIT", - "peerDependencies": { - "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" - }, - "node_modules/react-popper": { - "version": "2.3.0", - "license": "MIT", - "dependencies": { - "react-fast-compare": "^3.0.1", - "warning": "^4.0.2" - }, - "peerDependencies": { - "@popperjs/core": "^2.0.0", - "react": "^16.8.0 || ^17 || ^18", - "react-dom": "^16.8.0 || ^17 || ^18" - } - }, - "node_modules/react-router": { - "version": "6.30.3", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.30.3.tgz", - "integrity": "sha512-XRnlbKMTmktBkjCLE8/XcZFlnHvr2Ltdr1eJX4idL55/9BbORzyZEaIkBFDhFGCEWBBItsVrDxwx3gnisMitdw==", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.23.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.30.3", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.30.3.tgz", - "integrity": "sha512-pxPcv1AczD4vso7G4Z3TKcvlxK7g7TNt3/FNGMhfqyntocvYKj+GCatfigGDjbLozC4baguJ0ReCigoDJXb0ag==", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.23.2", - "react-router": "6.30.3" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "license": "MIT", - "peer": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "license": "MIT", - "peer": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.4", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/robust-predicates": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", - "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rw": { - "version": "1.3.3", - "license": "BSD-3-Clause" - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/saxes": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", - "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=v12.22.7" - } - }, - "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.13", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", - "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/stable-hash": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylelint": { - "version": "16.17.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.17.0.tgz", - "integrity": "sha512-I9OwVIWRMqVm2Br5iTbrfSqGRPWQUlvm6oXO1xZuYYu0Gpduy67N8wXOZv15p6E/JdlZiAtQaIoLKZEWk5hrjw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - }, - { - "type": "github", - "url": "https://github.com/sponsors/stylelint" - } - ], - "license": "MIT", - "dependencies": { - "@csstools/css-parser-algorithms": "^3.0.4", - "@csstools/css-tokenizer": "^3.0.3", - "@csstools/media-query-list-parser": "^4.0.2", - "@csstools/selector-specificity": "^5.0.0", - "@dual-bundle/import-meta-resolve": "^4.1.0", - "balanced-match": "^2.0.0", - "colord": "^2.9.3", - "cosmiconfig": "^9.0.0", - "css-functions-list": "^3.2.3", - "css-tree": "^3.1.0", - "debug": "^4.3.7", - "fast-glob": "^3.3.3", - "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^10.0.7", - "global-modules": "^2.0.0", - "globby": "^11.1.0", - "globjoin": "^0.1.4", - "html-tags": "^3.3.1", - "ignore": "^7.0.3", - "imurmurhash": "^0.1.4", - "is-plain-object": "^5.0.0", - "known-css-properties": "^0.35.0", - "mathml-tag-names": "^2.1.3", - "meow": "^13.2.0", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.5.3", - "postcss-resolve-nested-selector": "^0.1.6", - "postcss-safe-parser": "^7.0.1", - "postcss-selector-parser": "^7.1.0", - "postcss-value-parser": "^4.2.0", - "resolve-from": "^5.0.0", - "string-width": "^4.2.3", - "supports-hyperlinks": "^3.2.0", - "svg-tags": "^1.0.0", - "table": "^6.9.0", - "write-file-atomic": "^5.0.1" - }, - "bin": { - "stylelint": "bin/stylelint.mjs" - }, - "engines": { - "node": ">=18.12.0" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz", - "integrity": "sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - }, - { - "type": "github", - "url": "https://github.com/sponsors/stylelint" - } - ], - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "stylelint": "^16.1.0" - } - }, - "node_modules/stylelint-config-standard": { - "version": "36.0.1", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-36.0.1.tgz", - "integrity": "sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - }, - { - "type": "github", - "url": "https://github.com/sponsors/stylelint" - } - ], - "dependencies": { - "stylelint-config-recommended": "^14.0.1" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "stylelint": "^16.1.0" - } - }, - "node_modules/stylelint/node_modules/@csstools/selector-specificity": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-5.0.0.tgz", - "integrity": "sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - } - ], - "license": "MIT-0", - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "postcss-selector-parser": "^7.0.0" - } - }, - "node_modules/stylelint/node_modules/balanced-match": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.7.tgz", - "integrity": "sha512-txsf5fu3anp2ff3+gOJJzRImtrtm/oa9tYLN0iTuINZ++EyVR/nRrg2fKYwvG/pXDofcrvvb0scEbX3NyW/COw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^6.1.7" - } - }, - "node_modules/stylelint/node_modules/flat-cache": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.7.tgz", - "integrity": "sha512-qwZ4xf1v1m7Rc9XiORly31YaChvKt6oNVHuqqZcoED/7O+ToyNVGobKsIAopY9ODcWpEDKEBAbrSOCBHtNQvew==", - "dev": true, - "license": "MIT", - "dependencies": { - "cacheable": "^1.8.9", - "flatted": "^3.3.3", - "hookified": "^1.7.1" - } - }, - "node_modules/stylelint/node_modules/ignore": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz", - "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/stylelint/node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/sucrase": { - "version": "3.34.0", - "license": "MIT", - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "license": "ISC", - "peer": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz", - "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=14.18" - }, - "funding": { - "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svg-tags": { - "version": "1.0.0", - "dev": true - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/table": { - "version": "6.9.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", - "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/tailwindcss": { - "version": "3.3.3", - "license": "MIT", - "peer": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/thenify": { - "version": "3.3.1", - "license": "MIT", - "peer": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "license": "MIT", - "peer": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz", - "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==", - "dev": true, - "dependencies": { - "fdir": "^6.4.3", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.3.tgz", - "integrity": "sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==", - "dev": true, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/topbar": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/topbar/-/topbar-3.0.0.tgz", - "integrity": "sha512-mhczD7KfYi1anfoMPKRdl0wPSWiYc0YOK4KyycYs3EaNT15pVVNDG5CtfgZcEBWIPJEdfR7r8K4hTXDD2ECBVQ==", - "license": "MIT" - }, - "node_modules/topojson-client": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", - "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", - "dependencies": { - "commander": "2" - }, - "bin": { - "topo2geo": "bin/topo2geo", - "topomerge": "bin/topomerge", - "topoquantize": "bin/topoquantize" - } - }, - "node_modules/topojson-client/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "node_modules/tough-cookie": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", - "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", - "dev": true, - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "license": "Apache-2.0", - "peer": true - }, - "node_modules/ts-jest": { - "version": "29.2.4", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.2.4.tgz", - "integrity": "sha512-3d6tgDyhCI29HlpwIq87sNuI+3Q6GLTTCeYRHCs7vDz+/3GCMwEtV9jezLyl4ZtnBgx00I7hm8PCP8cTksMGrw==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "ejs": "^3.1.10", - "fast-json-stable-stringify": "2.x", - "jest-util": "^29.0.0", - "json5": "^2.2.3", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "^7.5.3", - "yargs-parser": "^21.0.1" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@jest/transform": "^29.0.0", - "@jest/types": "^29.0.0", - "babel-jest": "^29.0.0", - "jest": "^29.0.0", - "typescript": ">=4.3 <6" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@jest/transform": { - "optional": true - }, - "@jest/types": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-jest/node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "optional": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.29.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.29.0.tgz", - "integrity": "sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.29.0", - "@typescript-eslint/parser": "8.29.0", - "@typescript-eslint/utils": "8.29.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", - "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==", - "dev": true - }, - "node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unrs-resolver": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.3.3.tgz", - "integrity": "sha512-PFLAGQzYlyjniXdbmQ3dnGMZJXX5yrl2YS4DLRfR3BhgUsE1zpRIrccp9XMOGRfIHpdFvCn/nr5N1KMVda4x3A==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/JounQin" - }, - "optionalDependencies": { - "@unrs/resolver-binding-darwin-arm64": "1.3.3", - "@unrs/resolver-binding-darwin-x64": "1.3.3", - "@unrs/resolver-binding-freebsd-x64": "1.3.3", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.3.3", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.3.3", - "@unrs/resolver-binding-linux-arm64-gnu": "1.3.3", - "@unrs/resolver-binding-linux-arm64-musl": "1.3.3", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.3.3", - "@unrs/resolver-binding-linux-s390x-gnu": "1.3.3", - "@unrs/resolver-binding-linux-x64-gnu": "1.3.3", - "@unrs/resolver-binding-linux-x64-musl": "1.3.3", - "@unrs/resolver-binding-wasm32-wasi": "1.3.3", - "@unrs/resolver-binding-win32-arm64-msvc": "1.3.3", - "@unrs/resolver-binding-win32-ia32-msvc": "1.3.3", - "@unrs/resolver-binding-win32-x64-msvc": "1.3.3" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", - "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dev": true, - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/url-search-params-polyfill": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/url-search-params-polyfill/-/url-search-params-polyfill-8.2.5.tgz", - "integrity": "sha512-FOEojW4XReTmtZOB7xqSHmJZhrNTmClhBriwLTmle4iA7bwuCo6ldSfbtsFSb8bTf3E0a3XpfonAdaur9vqq8A==" - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/v8-to-istanbul": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", - "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/visionscarto-world-atlas": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/visionscarto-world-atlas/-/visionscarto-world-atlas-1.0.0.tgz", - "integrity": "sha512-jHl/NQgASfw5ZML3cnbjdfr/gXK5zO8a2xKSoCVe+5+EsIaO9tMTh7SsnfhESnCpZ+Xb6XBeU91wiuyERUPshQ==" - }, - "node_modules/w3c-xmlserializer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", - "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", - "dev": true, - "dependencies": { - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/warning": { - "version": "4.0.3", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/assets/package.json b/assets/package.json deleted file mode 100644 index 559481596eca5ba42106790ff9f9a9053d92921a..0000000000000000000000000000000000000000 --- a/assets/package.json +++ /dev/null @@ -1,79 +0,0 @@ -{ - "repository": {}, - "version": "1.4.0", - "license": "AGPL-3.0-or-later", - "scripts": { - "test": "TZ=UTC jest", - "format": "prettier --write \"**/*.{js,css,ts,tsx}\"", - "check-format": "prettier --check \"**/*.{js,css,ts,tsx}\"", - "eslint": "eslint js/**", - "stylelint": "stylelint css/**", - "lint": "npm run eslint && npm run stylelint", - "typecheck": "tsc --noEmit --pretty", - "generate-types": "json2ts ../priv/json-schemas/query-api-schema.json ../assets/js/types/query-api.d.ts --bannerComment '/* Autogenerated, recreate with `npm run --prefix assets generate-types` */'" - }, - "dependencies": { - "@headlessui/react": "^1.7.19", - "@heroicons/react": "^2.2.0", - "@jsonurl/jsonurl": "^1.1.7", - "@juggle/resize-observer": "^3.3.1", - "@popperjs/core": "^2.11.6", - "@tailwindcss/forms": "^0.5.10", - "@tailwindcss/typography": "^0.4.1", - "@tanstack/react-query": "^5.51.1", - "abortcontroller-polyfill": "^1.7.3", - "alpinejs": "^3.13.1", - "chart.js": "^3.3.2", - "chartjs-plugin-datalabels": "^2.2.0", - "classnames": "^2.3.1", - "d3": "^7.9.0", - "dayjs": "^1.11.7", - "fast-deep-equal": "^3.1.3", - "iframe-resizer": "^4.3.2", - "react": "^18.3.1", - "react-dom": "^18.3.1", - "react-flatpickr": "3.10.5", - "react-flip-move": "^3.0.4", - "react-intersection-observer": "^9.5.2", - "react-popper": "^2.3.0", - "react-router-dom": "^6.25.1", - "react-transition-group": "^4.4.2", - "topbar": "^3.0.0", - "topojson-client": "^3.1.0", - "url-search-params-polyfill": "^8.2.5", - "visionscarto-world-atlas": "^1.0.0" - }, - "devDependencies": { - "@eslint/js": "^9.23.0", - "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.4.8", - "@testing-library/react": "^16.0.0", - "@testing-library/user-event": "^14.5.2", - "@types/d3": "^7.4.3", - "@types/jest": "^29.5.12", - "@types/react": "^18.3.3", - "@types/react-dom": "^18.3.0", - "@types/react-flatpickr": "^3.8.11", - "@types/topojson-client": "^3.1.4", - "eslint": "^9.23.0", - "eslint-config-prettier": "^10.1.1", - "eslint-import-resolver-typescript": "^4.3.1", - "eslint-plugin-import": "^2.31.0", - "eslint-plugin-jest": "^28.11.0", - "eslint-plugin-jsx-a11y": "^6.10.2", - "eslint-plugin-react": "^7.37.5", - "eslint-plugin-react-hooks": "^5.2.0", - "globals": "^16.0.0", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "jsdom-testing-mocks": "^1.13.1", - "json-schema-to-typescript": "^15.0.2", - "prettier": "^3.3.3", - "stylelint": "^16.17.0", - "stylelint-config-standard": "^36.0.1", - "ts-jest": "^29.2.4", - "typescript": "^5.5.4", - "typescript-eslint": "^8.29.0" - }, - "name": "assets" -} diff --git a/assets/test-utils/app-context-providers.tsx b/assets/test-utils/app-context-providers.tsx deleted file mode 100644 index 062aac19f3e585cd46232eb2f5ac43befe629526..0000000000000000000000000000000000000000 --- a/assets/test-utils/app-context-providers.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import React, { ReactNode } from 'react' -import SiteContextProvider, { - PlausibleSite -} from '../js/dashboard/site-context' -import UserContextProvider, { - Role, - UserContextValue -} from '../js/dashboard/user-context' -import { MemoryRouter, MemoryRouterProps } from 'react-router-dom' -import { QueryClient, QueryClientProvider } from '@tanstack/react-query' -import DashboardStateContextProvider from '../js/dashboard/dashboard-state-context' -import { getRouterBasepath } from '../js/dashboard/router' -import { RoutelessModalsContextProvider } from '../js/dashboard/navigation/routeless-modals-context' -import { SegmentsContextProvider } from '../js/dashboard/filtering/segments-context' -import { SavedSegment, SavedSegments } from '../js/dashboard/filtering/segments' -import { GraphIntervalProvider } from '../js/dashboard/stats/graph/graph-interval-context' -import { ImportsIncludedProvider } from '../js/dashboard/stats/graph/imports-included-context' -import { CurrentVisitorsProvider } from '../js/dashboard/current-visitors-context' - -type TestContextProvidersProps = { - children: ReactNode - routerProps?: Pick - siteOptions?: Partial - user?: UserContextValue - preloaded?: { segments?: SavedSegments } - limitedToSegment?: SavedSegment | null -} - -export const DEFAULT_SITE: PlausibleSite = { - domain: 'plausible.io/unit', - offset: 0, - hasGoals: false, - hasProps: false, - funnelsAvailable: false, - explorationAvailable: false, - explorationJourneyEndEvent: '', - explorationMaxJourneySteps: 0, - propsAvailable: false, - siteSegmentsAvailable: false, - siteAnnotationsAvailable: false, - conversionsOptedOut: false, - funnelsOptedOut: false, - propsOptedOut: false, - revenueGoals: [], - funnels: [], - statsBegin: '', - nativeStatsBegin: '', - embedded: false, - background: '', - isDbip: false, - flags: {}, - shared: false, - isConsolidatedView: false -} - -export const TestContextProviders = ({ - children, - routerProps, - siteOptions, - preloaded, - limitedToSegment, - user -}: TestContextProvidersProps) => { - const site = { ...DEFAULT_SITE, ...siteOptions } - - const queryClient = new QueryClient({ - defaultOptions: { - queries: { - refetchOnWindowFocus: false - } - } - }) - - const defaultInitialEntries = [getRouterBasepath(site)] - - return ( - // not interactive component, default value is suitable - - - - - - - - - - - {children} - - - - - - - - - - - // - ) -} diff --git a/assets/test-utils/extend-expect.ts b/assets/test-utils/extend-expect.ts deleted file mode 100644 index c44951a680db0164bd78df59b06bd366a534a39b..0000000000000000000000000000000000000000 --- a/assets/test-utils/extend-expect.ts +++ /dev/null @@ -1 +0,0 @@ -import '@testing-library/jest-dom' diff --git a/assets/test-utils/index.ts b/assets/test-utils/index.ts deleted file mode 100644 index 14b0266a391b57f4c4a995f695e5f3e5d285f466..0000000000000000000000000000000000000000 --- a/assets/test-utils/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { render, RenderOptions } from '@testing-library/react' -import { ReactNode } from 'react' - -/** - * Makes the fake document in unit tests aware of some tailwind class definitions. - * Needed for the matcher option ({ hidden: false }) to function at least partially. - */ -const registerPartialTailwindStyle = () => { - const tailwindStyle = `.invisible { visibility: hidden; }` - - const style = document.createElement('style') - style.innerHTML = tailwindStyle - document.head.appendChild(style) -} - -const customRender = (ui: ReactNode, options: RenderOptions) => { - const output = render(ui, options) - registerPartialTailwindStyle() - return output -} - -export * from '@testing-library/react' -export { customRender as render } diff --git a/assets/test-utils/jsdom-mocks.ts b/assets/test-utils/jsdom-mocks.ts deleted file mode 100644 index 324a8b1a2456f20cf060ba7098f3073568970e53..0000000000000000000000000000000000000000 --- a/assets/test-utils/jsdom-mocks.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { configMocks } from 'jsdom-testing-mocks' -import { act } from '@testing-library/react' - -// as per jsdom-testing-mocks docs, this is needed to avoid having to wrap everything in act calls -configMocks({ act }) diff --git a/assets/test-utils/mock-api.ts b/assets/test-utils/mock-api.ts deleted file mode 100644 index 91a597eb2effc5cefc38e430735e4bd1baefc8dd..0000000000000000000000000000000000000000 --- a/assets/test-utils/mock-api.ts +++ /dev/null @@ -1,92 +0,0 @@ -export class MockAPI { - private mocked: Map - private fetch: jest.Mock - private originalFetch: null | unknown = null - - constructor() { - this.mocked = new Map() - this.fetch = jest.fn() - } - - private setHandler( - method: string, - urlWithoutQueryString: string, - handler: jest.Mock - ) { - this.mocked.set( - [method.toLowerCase(), urlWithoutQueryString].join(' '), - handler - ) - } - - // sets get handler - public get( - urlWithoutQueryString: string, - responseHandler: typeof fetch | Record | number | null - ): jest.Mock { - return this.register('get', urlWithoutQueryString, responseHandler) - } - - // sets post handler - public post( - urlWithoutQueryString: string, - responseHandler: typeof fetch | Record - ): jest.Mock { - return this.register('post', urlWithoutQueryString, responseHandler) - } - - private register( - method: string, - urlWithoutQueryString: string, - responseHandler: typeof fetch | Record | number | null - ): jest.Mock { - const handler: typeof fetch = - typeof responseHandler === 'function' - ? responseHandler - : () => - new Promise((resolve) => - resolve({ - status: 200, - ok: true, - json: async () => responseHandler - } as Response) - ) - const jestWrappedHandler = jest.fn(handler) - this.setHandler(method, urlWithoutQueryString, jestWrappedHandler) - return jestWrappedHandler - } - - private getHandler(method: string, urlWithoutQueryString: string) { - return this.mocked.get([method, urlWithoutQueryString].join(' ')) - } - - public clear() { - this.mocked = new Map() - this.fetch.mockClear() - } - - public start() { - this.originalFetch = global.fetch - const mockFetch: typeof global.fetch = async (input, init) => { - if (typeof input !== 'string') { - throw new Error(`Unmocked request ${input.toString()}`) - } - const method = (init?.method ?? 'get').toLowerCase() - const urlWithoutQueryString = input.split('?')[0] - const handler = this.getHandler(method, urlWithoutQueryString) - if (!handler) { - throw new Error( - `Unmocked request ${method.toString()} ${input.toString()}` - ) - } - return handler(input, init) - } - - global.fetch = this.fetch.mockImplementation(mockFetch) - return this - } - - public stop() { - global.fetch = this.originalFetch as typeof global.fetch - } -} diff --git a/assets/test-utils/reset-state.ts b/assets/test-utils/reset-state.ts deleted file mode 100644 index 9f474ce3b591cf1cd361a4f228e0f779447d8aeb..0000000000000000000000000000000000000000 --- a/assets/test-utils/reset-state.ts +++ /dev/null @@ -1,11 +0,0 @@ -/** - * @returns clears the state that the app stores, - * to avoid individual tests impacting each other - */ -function clearStoredAppState() { - localStorage.clear() -} - -beforeEach(() => { - clearStoredAppState() -}) diff --git a/assets/tsconfig.json b/assets/tsconfig.json deleted file mode 100644 index b435f6fda543f57f0880796f68d5917cc66b3ab7..0000000000000000000000000000000000000000 --- a/assets/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "compilerOptions": { - "noEmit": true, - "jsx": "react", - "target": "es2017", - "module": "commonjs", - "allowJs": true, - "resolveJsonModule": true, - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "strict": true, - "skipLibCheck": true - } -} diff --git a/config/.env.dev b/config/.env.dev deleted file mode 100644 index c1b5361dceccf716ecc775c24bc87f0a06242684..0000000000000000000000000000000000000000 --- a/config/.env.dev +++ /dev/null @@ -1,38 +0,0 @@ -BASE_URL=http://localhost:8000 -SECURE_COOKIE=false -DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/plausible_dev -CLICKHOUSE_DATABASE_URL=http://127.0.0.1:8123/plausible_events_db -CLICKHOUSE_MAX_BUFFER_SIZE_BYTES=1000000 -SECRET_KEY_BASE=/njrhntbycvastyvtk1zycwfm981vpo/0xrvwjjvemdakc/vsvbrevlwsc6u8rcg -TOTP_VAULT_KEY=Q3BD4nddbkVJIPXgHuo5NthGKSIH0yesRfG05J88HIo= -ENVIRONMENT=dev -MAILER_ADAPTER=Bamboo.LocalAdapter -LOG_LEVEL=debug -SELFHOST=false -DISABLE_CRON=true -ADMIN_USER_IDS=1 -SHOW_CITIES=true -PADDLE_VENDOR_AUTH_CODE=895e20d4efaec0575bb857f44b183217b332d9592e76e69b8a -PADDLE_VENDOR_ID=3942 -SSO_VERIFICATION_NAMESERVERS=0.0.0.0:5354 - -GOOGLE_CLIENT_ID=875387135161-l8tp53dpt7fdhdg9m1pc3vl42si95rh0.apps.googleusercontent.com -GOOGLE_CLIENT_SECRET=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 - -PROMEX_DISABLED=false -SITE_DEFAULT_INGEST_THRESHOLD=1000000 - -S3_DISABLED=false -S3_ACCESS_KEY_ID=minioadmin -S3_SECRET_ACCESS_KEY=minioadmin -S3_REGION=us-east-1 -S3_ENDPOINT=http://localhost:10000 -S3_EXPORTS_BUCKET=dev-exports -S3_IMPORTS_BUCKET=dev-imports - -HELP_SCOUT_APP_ID=fake_app_id -HELP_SCOUT_APP_SECRET=fake_app_secret -HELP_SCOUT_SIGNATURE_KEY=fake_signature_key -HELP_SCOUT_VAULT_KEY=ym9ZQg0KPNGCH3C2eD5y6KpL0tFzUqAhwxQO6uEv/ZM= - -VERIFICATION_ENABLED=true diff --git a/config/.env.e2e_test b/config/.env.e2e_test deleted file mode 100644 index a387ecbd887c359cf19ae6423bd89b565ded687d..0000000000000000000000000000000000000000 --- a/config/.env.e2e_test +++ /dev/null @@ -1,39 +0,0 @@ -BASE_URL=http://localhost:8111 -HTTP_PORT=8111 -SECURE_COOKIE=false -DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/plausible_e2e -CLICKHOUSE_DATABASE_URL=http://127.0.0.1:8123/plausible_e2e -CLICKHOUSE_MAX_BUFFER_SIZE_BYTES=1000000 -SECRET_KEY_BASE=/njrhntbycvastyvtk1zycwfm981vpo/0xrvwjjvemdakc/vsvbrevlwsc6u8rcg -TOTP_VAULT_KEY=Q3BD4nddbkVJIPXgHuo5NthGKSIH0yesRfG05J88HIo= -ENVIRONMENT=dev -MAILER_ADAPTER=Bamboo.LocalAdapter -LOG_LEVEL=error -SELFHOST=false -DISABLE_CRON=true -ADMIN_USER_IDS=1 -SHOW_CITIES=true -PADDLE_VENDOR_AUTH_CODE=895e20d4efaec0575bb857f44b183217b332d9592e76e69b8a -PADDLE_VENDOR_ID=3942 -SSO_VERIFICATION_NAMESERVERS=0.0.0.0:5354 - -GOOGLE_CLIENT_ID=875387135161-l8tp53dpt7fdhdg9m1pc3vl42si95rh0.apps.googleusercontent.com -GOOGLE_CLIENT_SECRET=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 - -PROMEX_DISABLED=false -SITE_DEFAULT_INGEST_THRESHOLD=1000000 - -S3_DISABLED=false -S3_ACCESS_KEY_ID=minioadmin -S3_SECRET_ACCESS_KEY=minioadmin -S3_REGION=us-east-1 -S3_ENDPOINT=http://localhost:10000 -S3_EXPORTS_BUCKET=dev-exports -S3_IMPORTS_BUCKET=dev-imports - -HELP_SCOUT_APP_ID=fake_app_id -HELP_SCOUT_APP_SECRET=fake_app_secret -HELP_SCOUT_SIGNATURE_KEY=fake_signature_key -HELP_SCOUT_VAULT_KEY=ym9ZQg0KPNGCH3C2eD5y6KpL0tFzUqAhwxQO6uEv/ZM= - -VERIFICATION_ENABLED=true diff --git a/config/.env.load b/config/.env.load deleted file mode 100644 index cb957fe1267569c7f6da2974da01021c0a01ce1d..0000000000000000000000000000000000000000 --- a/config/.env.load +++ /dev/null @@ -1,37 +0,0 @@ -BASE_URL=http://localhost:8000 -SECURE_COOKIE=false -DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/plausible_dev -CLICKHOUSE_DATABASE_URL=http://127.0.0.1:8123/plausible_events_db -CLICKHOUSE_MAX_BUFFER_SIZE_BYTES=1000000 -SECRET_KEY_BASE=/njrhntbycvastyvtk1zycwfm981vpo/0xrvwjjvemdakc/vsvbrevlwsc6u8rcg -TOTP_VAULT_KEY=Q3BD4nddbkVJIPXgHuo5NthGKSIH0yesRfG05J88HIo= -ENVIRONMENT=dev -MAILER_ADAPTER=Bamboo.LocalAdapter -LOG_LEVEL=debug -SELFHOST=false -DISABLE_CRON=true -ADMIN_USER_IDS=1 -SHOW_CITIES=true -PADDLE_VENDOR_AUTH_CODE=895e20d4efaec0575bb857f44b183217b332d9592e76e69b8a -PADDLE_VENDOR_ID=3942 - -GOOGLE_CLIENT_ID=875387135161-l8tp53dpt7fdhdg9m1pc3vl42si95rh0.apps.googleusercontent.com -GOOGLE_CLIENT_SECRET=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 - -PROMEX_DISABLED=false -SITE_DEFAULT_INGEST_THRESHOLD=1000000 - -S3_DISABLED=false -S3_ACCESS_KEY_ID=minioadmin -S3_SECRET_ACCESS_KEY=minioadmin -S3_REGION=us-east-1 -S3_ENDPOINT=http://localhost:10000 -S3_EXPORTS_BUCKET=dev-exports -S3_IMPORTS_BUCKET=dev-imports - -HELP_SCOUT_APP_ID=fake_app_id -HELP_SCOUT_APP_SECRET=fake_app_secret -HELP_SCOUT_SIGNATURE_KEY=fake_signature_key -HELP_SCOUT_VAULT_KEY=ym9ZQg0KPNGCH3C2eD5y6KpL0tFzUqAhwxQO6uEv/ZM= - -VERIFICATION_ENABLED=true diff --git a/config/.env.test b/config/.env.test deleted file mode 100644 index 42a1e8552634e9e102cae820c3edbd01874e5e61..0000000000000000000000000000000000000000 --- a/config/.env.test +++ /dev/null @@ -1,31 +0,0 @@ -DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/plausible_test -CLICKHOUSE_DATABASE_URL=http://127.0.0.1:8123/plausible_test -SECRET_KEY_BASE=/njrhntbycvastyvtk1zycwfm981vpo/0xrvwjjvemdakc/vsvbrevlwsc6u8rcg -TOTP_VAULT_KEY=1Jah1HEOnCEnmBE+4/OgbJRraJIppPmYCNbZoFJboZs= -BASE_URL=http://localhost:8000 -CRON_ENABLED=false -LOG_LEVEL=warning -ENVIRONMENT=test -MAILER_ADAPTER=Bamboo.TestAdapter -ENABLE_EMAIL_VERIFICATION=true -SELFHOST=false -HCAPTCHA_SITEKEY=test -HCAPTCHA_SECRET=scottiger -IP_GEOLOCATION_DB=test/priv/GeoLite2-City-Test.mmdb -SITE_DEFAULT_INGEST_THRESHOLD=1000000 -GOOGLE_CLIENT_ID=fake_client_id -GOOGLE_CLIENT_SECRET=fake_client_secret -HELP_SCOUT_APP_ID=fake_app_id -HELP_SCOUT_APP_SECRET=fake_app_secret -HELP_SCOUT_SIGNATURE_KEY=fake_signature_key -HELP_SCOUT_VAULT_KEY=ym9ZQg0KPNGCH3C2eD5y6KpL0tFzUqAhwxQO6uEv/ZM= - -S3_DISABLED=false -S3_ACCESS_KEY_ID=minioadmin -S3_SECRET_ACCESS_KEY=minioadmin -S3_REGION=us-east-1 -S3_ENDPOINT=http://localhost:10000 -S3_EXPORTS_BUCKET=test-exports -S3_IMPORTS_BUCKET=test-imports - -VERIFICATION_ENABLED=true diff --git a/config/ce.exs b/config/ce.exs deleted file mode 100644 index fb4cecbcfd00ec153b49ec86a36c28b02bae00dd..0000000000000000000000000000000000000000 --- a/config/ce.exs +++ /dev/null @@ -1,22 +0,0 @@ -import Config - -import_config "prod.exs" - -config :phoenix, - static_compressors: [ - PhoenixBakery.Gzip, - PhoenixBakery.Brotli - ] - -config :esbuild, - default: [ - args: - ~w(js/app.js js/dashboard.tsx js/embed.host.js js/embed.content.js --bundle --target=es2017 --loader:.js=jsx --outdir=../priv/static/js --define:BUILD_EXTRA=false), - cd: Path.expand("../assets", __DIR__), - env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)} - ] - -config :plausible, Plausible.Auth.ApiKey, - legacy_per_user_hourly_request_limit: 1_000_000, - burst_request_limit: 1_000_000, - burst_period_seconds: 10 diff --git a/config/ce_dev.exs b/config/ce_dev.exs deleted file mode 100644 index fee5c13d0e208082e0ba9f0bf9b2e0b978d3bd32..0000000000000000000000000000000000000000 --- a/config/ce_dev.exs +++ /dev/null @@ -1,11 +0,0 @@ -import Config - -import_config "dev.exs" - -config :esbuild, - default: [ - args: - ~w(js/app.js js/dashboard.tsx js/embed.host.js js/embed.content.js --bundle --target=es2017 --loader:.js=jsx --outdir=../priv/static/js --define:BUILD_EXTRA=false), - cd: Path.expand("../assets", __DIR__), - env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)} - ] diff --git a/config/ce_test.exs b/config/ce_test.exs deleted file mode 100644 index a7cc8c8bca8f13abf10492ce1f266b89f68aa513..0000000000000000000000000000000000000000 --- a/config/ce_test.exs +++ /dev/null @@ -1,3 +0,0 @@ -import Config - -import_config "test.exs" diff --git a/config/config.exs b/config/config.exs deleted file mode 100644 index 0b6efb9487912e9a88c7dad60d589d826836c7ee..0000000000000000000000000000000000000000 --- a/config/config.exs +++ /dev/null @@ -1,89 +0,0 @@ -import Config - -config :plausible, - ecto_repos: [Plausible.Repo, Plausible.IngestRepo] - -config :plausible, PlausibleWeb.Endpoint, - # Does not to have to be secret, as per: https://github.com/phoenixframework/phoenix/issues/2146 - live_view: [signing_salt: "f+bZg/crMtgjZJJY7X6OwIWc3XJR2C5Y"], - pubsub_server: Plausible.PubSub, - render_errors: [ - view: PlausibleWeb.ErrorView, - layout: {PlausibleWeb.LayoutView, "base_error.html"}, - accepts: ~w(html json) - ] - -# Use Jason for JSON parsing in Phoenix -config :phoenix, :json_library, Jason - -config :esbuild, - version: "0.17.11", - default: [ - args: - ~w(js/app.js js/dashboard.tsx js/embed.host.js js/embed.content.js --bundle --target=es2017 --loader:.js=jsx --outdir=../priv/static/js --define:BUILD_EXTRA=true), - cd: Path.expand("../assets", __DIR__), - env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)} - ] - -config :tailwind, - version: "4.1.12", - default: [ - args: ~w( - --input=assets/css/app.css - --output=priv/static/css/app.css - ), - cd: Path.expand("..", __DIR__) - ] - -config :ua_inspector, - database_path: "priv/ua_inspector", - remote_release: "6.5.0" - -config :ref_inspector, - database_path: "priv/ref_inspector" - -config :plausible, - paddle_api: Plausible.Billing.PaddleApi, - google_api: Plausible.Google.API - -config :plausible, - # 30 minutes - session_timeout: 1000 * 60 * 30, - session_length_minutes: 30 - -config :fun_with_flags, :cache_bust_notifications, enabled: false - -config :fun_with_flags, :persistence, - adapter: FunWithFlags.Store.Persistent.Ecto, - repo: Plausible.Repo - -config :plausible, Plausible.ClickhouseRepo, loggers: [Ecto.LogEntry] - -config :plausible, Plausible.Repo, - timeout: 300_000, - connect_timeout: 300_000, - handshake_timeout: 300_000, - queue_target: 500, - queue_inerval: 1100 - -config :plausible, Plausible.Cache, enabled: true - -config :plausible, Plausible.Ingestion.Counters, enabled: true - -config :ex_cldr, - default_locale: "en", - default_backend: Plausible.Cldr - -config :sentry, - enable_source_code_context: true, - root_source_code_path: [File.cwd!()] - -config :prom_ex, :storage_adapter, Plausible.PromEx.StripedPeep -config :peep, :bucket_calculator, Plausible.PromEx.Buckets - -config :plausible, Plausible.Auth.ApiKey, - legacy_per_user_hourly_request_limit: 600, - burst_request_limit: 60, - burst_period_seconds: 10 - -import_config "#{config_env()}.exs" diff --git a/config/dev.exs b/config/dev.exs deleted file mode 100644 index 7201157eea5bcc88cdc219adaecb18557b7b7e5c..0000000000000000000000000000000000000000 --- a/config/dev.exs +++ /dev/null @@ -1,41 +0,0 @@ -import Config - -config :plausible, PlausibleWeb.Endpoint, - server: true, - debug_errors: true, - code_reloader: true, - check_origin: false, - watchers: [ - esbuild: {Esbuild, :install_and_run, [:default, ~w(--sourcemap=inline --watch)]}, - tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]}, - npm: ["--prefix", "assets", "run", "typecheck", "--", "--watch", "--preserveWatchOutput"], - npm: [ - "run", - "deploy", - cd: Path.expand("../tracker", __DIR__) - ] - ], - live_reload: [ - dirs: [ - "extra" - ], - patterns: [ - ~r{priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$}, - ~r"lib/plausible_web/(controllers|live|components|templates|views|plugs)/.*(ex|heex)$" - ] - ] - -config :plausible, paddle_api: Plausible.Billing.DevPaddleApiMock - -config :phoenix, :stacktrace_depth, 20 -config :phoenix, :plug_init_mode, :runtime - -config :plausible, Plausible.Repo, stacktrace: true -config :plausible, Plausible.ClickhouseRepo, stacktrace: true -config :plausible, Plausible.IngestRepo, stacktrace: true -config :plausible, Plausible.AsyncInsertRepo, stacktrace: true - -config :phoenix_live_view, - debug_heex_annotations: true, - debug_attributes: true, - enable_expensive_runtime_checks: true diff --git a/config/e2e_test.exs b/config/e2e_test.exs deleted file mode 100644 index c881cdec49cf1b9a6c6aec5f4ebb84b5d75495b0..0000000000000000000000000000000000000000 --- a/config/e2e_test.exs +++ /dev/null @@ -1,20 +0,0 @@ -import Config - -config :plausible, PlausibleWeb.Endpoint, - server: true, - check_origin: false - -config :plausible, - paddle_api: Plausible.Billing.DevPaddleApiMock, - google_api: Plausible.Google.API.Mock - -config :phoenix, :stacktrace_depth, 20 -config :phoenix, :plug_init_mode, :runtime - -config :bcrypt_elixir, :log_rounds, 4 - -config :plausible, Plausible.Ingestion.Counters, enabled: false - -config :plausible, Oban, testing: :manual - -config :plausible, Plausible.Session.Salts, interval: :timer.hours(1) diff --git a/config/load.exs b/config/load.exs deleted file mode 100644 index 976ddcc1bb0eaf759253bae37aad4c27a7ff1b6d..0000000000000000000000000000000000000000 --- a/config/load.exs +++ /dev/null @@ -1,17 +0,0 @@ -import Config - -config :plausible, PlausibleWeb.Endpoint, - cache_static_manifest: "priv/static/cache_manifest.json", - check_origin: false, - server: true, - code_reloader: false, - http: [ - transport_options: [ - num_acceptors: 1000 - ] - ], - protocol_options: [ - max_keepalive: 5_000, - idle_timeout: 120_000, - request_timeout: 120_000 - ] diff --git a/config/prod.exs b/config/prod.exs deleted file mode 100644 index 56559d153206480e7e9c7da39ed888addac6d0f3..0000000000000000000000000000000000000000 --- a/config/prod.exs +++ /dev/null @@ -1,7 +0,0 @@ -import Config - -config :plausible, PlausibleWeb.Endpoint, - cache_static_manifest: "priv/static/cache_manifest.json", - check_origin: false, - server: true, - code_reloader: false diff --git a/config/runtime.exs b/config/runtime.exs deleted file mode 100644 index 3992ddcdf9ef0d472b96512a0dd99a361ffd603e..0000000000000000000000000000000000000000 --- a/config/runtime.exs +++ /dev/null @@ -1,1102 +0,0 @@ -import Config -import Plausible.ConfigHelpers -require Logger - -if config_env() in [:dev, :test, :load] do - Envy.load(["config/.env.#{config_env()}"]) -end - -if config_env() == :ce_dev do - Envy.load(["config/.env.dev"]) -end - -if config_env() == :ce_test do - Envy.load(["config/.env.test"]) -end - -if config_env() == :e2e_test do - Envy.load(["config/.env.e2e_test"]) -end - -config_dir = System.get_env("CONFIG_DIR", "/run/secrets") - -log_format = - get_var_from_path_or_env(config_dir, "LOG_FORMAT", "standard") - -default_log_level = if config_env() == :ce, do: "notice", else: "warning" - -log_level = - config_dir - |> get_var_from_path_or_env("LOG_LEVEL", default_log_level) - |> String.to_existing_atom() - -config :logger, level: log_level -config :logger, :default_formatter, metadata: [:request_id, :trace_id] - -config :logger, Sentry.LoggerBackend, - capture_log_messages: true, - level: :error - -case String.downcase(log_format) do - "standard" -> - config :logger, :default_formatter, format: "$time $metadata[$level] $message\n" - - "json" -> - config :logger, :default_formatter, format: {ExJsonLogger, :format} -end - -# Listen IP supports IPv4 and IPv6 addresses. -listen_ip = - ( - str = get_var_from_path_or_env(config_dir, "LISTEN_IP") || "127.0.0.1" - - case :inet.parse_address(String.to_charlist(str)) do - {:ok, ip_addr} -> - ip_addr - - {:error, reason} -> - raise "Invalid LISTEN_IP '#{str}' error: #{inspect(reason)}" - end - ) - -# System.get_env does not accept a non string default -http_port = - get_int_from_path_or_env(config_dir, "HTTP_PORT") || - get_int_from_path_or_env(config_dir, "PORT", 8000) - -https_port = get_int_from_path_or_env(config_dir, "HTTPS_PORT") - -base_url = get_var_from_path_or_env(config_dir, "BASE_URL") - -if !base_url do - raise "BASE_URL configuration option is required. See https://github.com/plausible/community-edition/wiki/configuration#base_url" -end - -base_url = URI.parse(base_url) - -if base_url.scheme not in ["http", "https"] do - raise "BASE_URL must start with `http` or `https`. Currently configured as `#{System.get_env("BASE_URL")}`" -end - -secret_key_base = get_var_from_path_or_env(config_dir, "SECRET_KEY_BASE", nil) - -case secret_key_base do - nil -> - raise "SECRET_KEY_BASE configuration option is required. See https://github.com/plausible/community-edition/wiki/configuration#secret_key_base" - - key when byte_size(key) < 32 -> - raise "SECRET_KEY_BASE must be at least 32 bytes long. See https://github.com/plausible/community-edition/wiki/configuration#secret_key_base" - - _ -> - nil -end - -super_admin_user_ids = - get_var_from_path_or_env(config_dir, "ADMIN_USER_IDS", "") - |> String.split(",") - |> Enum.map(fn id -> Integer.parse(id) end) - |> Enum.map(fn - {int, ""} -> int - _ -> nil - end) - |> Enum.filter(& &1) - -env = get_var_from_path_or_env(config_dir, "ENVIRONMENT", "prod") -mailer_adapter = get_var_from_path_or_env(config_dir, "MAILER_ADAPTER", "Bamboo.Mua") -mailer_email = get_var_from_path_or_env(config_dir, "MAILER_EMAIL", "plausible@#{base_url.host}") - -mailer_email = - if mailer_name = get_var_from_path_or_env(config_dir, "MAILER_NAME") do - {mailer_name, mailer_email} - else - mailer_email - end - -app_version = get_var_from_path_or_env(config_dir, "APP_VERSION", "0.0.1") - -ch_db_url = - get_var_from_path_or_env( - config_dir, - "CLICKHOUSE_DATABASE_URL", - "http://plausible_events_db:8123/plausible_events_db" - ) - -{ingest_pool_size, ""} = - get_var_from_path_or_env( - config_dir, - "CLICKHOUSE_INGEST_POOL_SIZE", - "5" - ) - |> Integer.parse() - -{ch_flush_interval_ms, ""} = - config_dir - |> get_var_from_path_or_env("CLICKHOUSE_FLUSH_INTERVAL_MS", "5000") - |> Integer.parse() - -if get_var_from_path_or_env(config_dir, "CLICKHOUSE_MAX_BUFFER_SIZE") do - Logger.warning( - "CLICKHOUSE_MAX_BUFFER_SIZE is deprecated, please use CLICKHOUSE_MAX_BUFFER_SIZE_BYTES instead" - ) -end - -{ch_max_buffer_size, ""} = - config_dir - |> get_var_from_path_or_env("CLICKHOUSE_MAX_BUFFER_SIZE_BYTES", "100000") - |> Integer.parse() - -persistor_backend = - case get_var_from_path_or_env(config_dir, "PERSISTOR_BACKEND", "embedded") do - "embedded" -> Plausible.Ingestion.Persistor.Embedded - "embedded_with_relay" -> Plausible.Ingestion.Persistor.EmbeddedWithRelay - "remote" -> Plausible.Ingestion.Persistor.Remote - end - -{persistor_backend_percent_enabled, ""} = - config_dir - |> get_var_from_path_or_env("PERSISTOR_BACKEND_PERCENT_ENABLED", "0") - |> Integer.parse() - -persistor_url = - get_var_from_path_or_env(config_dir, "PERSISTOR_URL", "http://localhost:8001/event") - -persistor_count = get_int_from_path_or_env(config_dir, "PERSISTOR_COUNT", 200) - -persistor_timeout_ms = get_int_from_path_or_env(config_dir, "PERSISTOR_TIMEOUT_MS", 10_000) - -# Can be generated with `Base.encode64(:crypto.strong_rand_bytes(32))` from -# iex shell or `openssl rand -base64 32` from command line. -totp_vault_key = - if totp_vault_key_base64 = get_var_from_path_or_env(config_dir, "TOTP_VAULT_KEY") do - case Base.decode64(totp_vault_key_base64) do - {:ok, totp_vault_key} -> - if byte_size(totp_vault_key) == 32 do - totp_vault_key - else - raise ArgumentError, """ - TOTP_VAULT_KEY must be Base64 encoded 32 bytes, e.g. `openssl rand -base64 32`. - Got Base64 encoded #{byte_size(totp_vault_key)} bytes. - More info: https://github.com/plausible/community-edition/wiki/configuration#totp_vault_key - """ - end - - :error -> - raise ArgumentError, """ - TOTP_VAULT_KEY must be Base64 encoded 32 bytes, e.g. `openssl rand -base64 32` - More info: https://github.com/plausible/community-edition/wiki/configuration#totp_vault_key - """ - end - else - Plug.Crypto.KeyGenerator.generate(secret_key_base, "totp", length: 32, iterations: 100_000) - end - -fallback_totp_vault_key = - if totp_vault_key_base64 = get_var_from_path_or_env(config_dir, "TOTP_VAULT_KEY_FALLBACK") do - case Base.decode64(totp_vault_key_base64) do - {:ok, totp_vault_key} -> - if byte_size(totp_vault_key) == 32 do - totp_vault_key - else - raise ArgumentError, """ - TOTP_VAULT_KEY_FALLBACK must be Base64 encoded 32 bytes, e.g. `openssl rand -base64 32`. - Got Base64 encoded #{byte_size(totp_vault_key)} bytes. - More info: https://github.com/plausible/community-edition/wiki/configuration#totp_vault_key - """ - end - - :error -> - raise ArgumentError, """ - TOTP_VAULT_KEY_FALLBACK must be Base64 encoded 32 bytes, e.g. `openssl rand -base64 32` - More info: https://github.com/plausible/community-edition/wiki/configuration#totp_vault_key - """ - end - end - -config :plausible, Plausible.Auth.TOTP, - vault_key: totp_vault_key, - fallback_vault_key: fallback_totp_vault_key || totp_vault_key - -build_metadata_raw = get_var_from_path_or_env(config_dir, "BUILD_METADATA", "{}") - -build_metadata = - case Jason.decode(build_metadata_raw) do - {:ok, build_metadata} -> - build_metadata - - {:error, error} -> - error = Exception.format(:error, error) - - Logger.warning(""" - failed to parse $BUILD_METADATA: #{error} - - $BUILD_METADATA is set to #{build_metadata_raw}\ - """) - - Logger.warning("falling back to empty build metadata, as if $BUILD_METADATA was set to {}") - - _fallback = %{} - end - -app_host = get_var_from_path_or_env(config_dir, "APP_HOST") - -runtime_metadata = [ - version: get_in(build_metadata, ["labels", "org.opencontainers.image.version"]), - commit: get_in(build_metadata, ["labels", "org.opencontainers.image.revision"]), - created: get_in(build_metadata, ["labels", "org.opencontainers.image.created"]), - tags: get_in(build_metadata, ["tags"]), - app_host: app_host -] - -config :plausible, :runtime_metadata, runtime_metadata - -sentry_dsn = get_var_from_path_or_env(config_dir, "SENTRY_DSN") -honeycomb_api_key = get_var_from_path_or_env(config_dir, "HONEYCOMB_API_KEY") -honeycomb_dataset = get_var_from_path_or_env(config_dir, "HONEYCOMB_DATASET") -paddle_auth_code = get_var_from_path_or_env(config_dir, "PADDLE_VENDOR_AUTH_CODE") -paddle_vendor_id = get_var_from_path_or_env(config_dir, "PADDLE_VENDOR_ID") -google_cid = get_var_from_path_or_env(config_dir, "GOOGLE_CLIENT_ID") -google_secret = get_var_from_path_or_env(config_dir, "GOOGLE_CLIENT_SECRET") -postmark_api_key = get_var_from_path_or_env(config_dir, "POSTMARK_API_KEY") -help_scout_app_id = get_var_from_path_or_env(config_dir, "HELP_SCOUT_APP_ID") -help_scout_app_secret = get_var_from_path_or_env(config_dir, "HELP_SCOUT_APP_SECRET") -help_scout_signature_key = get_var_from_path_or_env(config_dir, "HELP_SCOUT_SIGNATURE_KEY") -help_scout_vault_key = get_var_from_path_or_env(config_dir, "HELP_SCOUT_VAULT_KEY") - -otlp_endpoint = - get_var_from_path_or_env(config_dir, "OTLP_ENDPOINT", "https://api.honeycomb.io:443") - -geolite2_country_db = - get_var_from_path_or_env( - config_dir, - "GEOLITE2_COUNTRY_DB", - Application.app_dir(:plausible, "/priv/geodb/dbip-country.mmdb.gz") - ) - -ip_geolocation_db = get_var_from_path_or_env(config_dir, "IP_GEOLOCATION_DB", geolite2_country_db) -geonames_source_file = get_var_from_path_or_env(config_dir, "GEONAMES_SOURCE_FILE") -maxmind_license_key = get_var_from_path_or_env(config_dir, "MAXMIND_LICENSE_KEY") -maxmind_edition = get_var_from_path_or_env(config_dir, "MAXMIND_EDITION", "GeoLite2-City") -data_dir = get_var_from_path_or_env(config_dir, "DATA_DIR") -persistent_cache_dir = get_var_from_path_or_env(config_dir, "PERSISTENT_CACHE_DIR") - -# DEFAULT_DATA_DIR comes from the container image, please see our Dockerfile -data_dir = data_dir || persistent_cache_dir || System.get_env("DEFAULT_DATA_DIR") -persistent_cache_dir = persistent_cache_dir || data_dir - -session_transfer_dir = - if get_bool_from_path_or_env(config_dir, "ENABLE_SESSION_TRANSFER", config_env() == :prod) do - if persistent_cache_dir do - Path.join(persistent_cache_dir, "sessions") - end - end - -enable_email_verification = - get_bool_from_path_or_env(config_dir, "ENABLE_EMAIL_VERIFICATION", false) - -is_selfhost = get_bool_from_path_or_env(config_dir, "SELFHOST", true) - -# by default, only registration from invites is enabled in CE -disable_registration_default = - if config_env() == :ce do - "invite_only" - else - "false" - end - -disable_registration = - config_dir - |> get_var_from_path_or_env("DISABLE_REGISTRATION", disable_registration_default) - |> String.to_existing_atom() - -if disable_registration not in [true, false, :invite_only] do - raise "DISABLE_REGISTRATION must be one of `true`, `false`, or `invite_only`. See https://github.com/plausible/community-edition/wiki/configuration#disable_registration" -end - -hcaptcha_sitekey = get_var_from_path_or_env(config_dir, "HCAPTCHA_SITEKEY") -hcaptcha_secret = get_var_from_path_or_env(config_dir, "HCAPTCHA_SECRET") - -custom_script_name = - config_dir - |> get_var_from_path_or_env("CUSTOM_SCRIPT_NAME", "script") - -disable_cron = get_bool_from_path_or_env(config_dir, "DISABLE_CRON", false) - -log_failed_login_attempts = - get_bool_from_path_or_env(config_dir, "LOG_FAILED_LOGIN_ATTEMPTS", false) - -websocket_url = get_var_from_path_or_env(config_dir, "WEBSOCKET_URL", "") - -if byte_size(websocket_url) > 0 and - not String.ends_with?(URI.new!(websocket_url).host, base_url.host) do - raise """ - Cross-domain websocket authentication is not supported for this server. - - WEBSOCKET_URL=#{websocket_url} - host must be: '#{base_url.host}', - because BASE_URL=#{base_url}. - """ -end - -secure_cookie_default = - case base_url.scheme do - "http" -> "false" - "https" -> "true" - end - -secure_cookie = - config_dir - |> get_var_from_path_or_env("SECURE_COOKIE", secure_cookie_default) - |> String.to_existing_atom() - -license_key = get_var_from_path_or_env(config_dir, "LICENSE_KEY", "") - -sso_saml_adapter = - case get_var_from_path_or_env(config_dir, "SSO_SAML_ADAPTER", "fake") do - "fake" -> PlausibleWeb.SSO.FakeSAMLAdapter - "real" -> PlausibleWeb.SSO.RealSAMLAdapter - end - -sso_verification_nameservers = - case get_var_from_path_or_env(config_dir, "SSO_VERIFICATION_NAMESERVERS") do - nil -> - nil - - some when is_binary(some) -> - some - |> String.split(",") - |> Enum.map(fn addr -> - uri = URI.parse("dns://#{addr}") - host = uri.host - port = uri.port || 53 - {:ok, addr} = :inet.parse_address(to_charlist(host)) - {addr, port} - end) - end - -config :plausible, - environment: env, - mailer_email: mailer_email, - super_admin_user_ids: super_admin_user_ids, - is_selfhost: is_selfhost, - custom_script_name: custom_script_name, - log_failed_login_attempts: log_failed_login_attempts, - license_key: license_key, - data_dir: data_dir, - session_transfer_dir: session_transfer_dir, - sso_saml_adapter: sso_saml_adapter, - sso_verification_nameservers: sso_verification_nameservers - -config :plausible, :selfhost, - enable_email_verification: enable_email_verification, - disable_registration: disable_registration - -default_http_opts = [ - transport_options: [max_connections: :infinity], - protocol_options: [max_request_line_length: 8192, max_header_value_length: 8192] -] - -config :plausible, PlausibleWeb.Endpoint, - url: [scheme: base_url.scheme, host: base_url.host, path: base_url.path, port: base_url.port], - http: [port: http_port, ip: listen_ip] ++ default_http_opts, - secret_key_base: secret_key_base, - websocket_url: websocket_url, - secure_cookie: secure_cookie, - base_url: base_url - -# maybe enable HTTPS in CE -if config_env() in [:ce, :ce_dev, :ce_test] do - if https_port do - # the following configuration is based on https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28recommended.29 - # except we enforce the cipher and ecc order and only use ciphers with support - # for ecdsa certificates since that's what certbot generates by default - https_opts = - [ - port: https_port, - ip: listen_ip, - transport_options: [socket_opts: [log_level: :warning]], - versions: [:"tlsv1.2", :"tlsv1.3"], - honor_cipher_order: true, - honor_ecc_order: true, - eccs: [:x25519, :secp256r1, :secp384r1], - supported_groups: [:x25519, :secp256r1, :secp384r1], - ciphers: [ - # Mozilla recommended cipher suites (TLS 1.3) - ~c"TLS_AES_128_GCM_SHA256", - ~c"TLS_AES_256_GCM_SHA384", - ~c"TLS_CHACHA20_POLY1305_SHA256", - # Mozilla recommended cipher suites (TLS 1.2) - ~c"ECDHE-ECDSA-AES128-GCM-SHA256", - ~c"ECDHE-ECDSA-AES256-GCM-SHA384", - ~c"ECDHE-ECDSA-CHACHA20-POLY1305" - ] - ] - - https_opts = Config.Reader.merge(default_http_opts, https_opts) - config :plausible, PlausibleWeb.Endpoint, https: https_opts - - domain = base_url.host - - # do stricter checking in CE prod - if config_env() == :ce do - domain_is_ip? = - case :inet.parse_address(to_charlist(domain)) do - {:ok, _address} -> true - _other -> false - end - - if domain_is_ip? do - raise ArgumentError, "Cannot generate TLS certificates for IP address #{inspect(domain)}" - end - - domain_is_local? = domain == "localhost" or not String.contains?(domain, ".") - - if domain_is_local? do - raise ArgumentError, - "Cannot generate TLS certificates for local domain #{inspect(domain)}" - end - - unless http_port == 80 do - Logger.warning(""" - HTTPS is enabled but the HTTP port is not 80. \ - This will prevent automatic TLS certificate issuance as ACME validates the domain on port 80.\ - """) - end - end - - acme_directory_url = - get_var_from_path_or_env( - config_dir, - "ACME_DIRECTORY_URL", - "https://acme-v02.api.letsencrypt.org/directory" - ) - - db_folder = Path.join(data_dir || System.tmp_dir!(), "site_encrypt") - - email = - case mailer_email do - {_, email} -> email - email when is_binary(email) -> email - end - - config :plausible, :selfhost, - site_encrypt: [ - domain: domain, - email: email, - db_folder: db_folder, - directory_url: acme_directory_url - ] - end -end - -db_maybe_ipv6 = - if get_bool_from_path_or_env(config_dir, "ECTO_IPV6") do - if config_env() in [:ce, :ce_dev, :ce_test] do - Logger.warning( - "ECTO_IPV6 is no longer necessary as all TCP connections now try IPv6 automatically with IPv4 fallback" - ) - end - - [:inet6] - else - [] - end - -db_url = - get_var_from_path_or_env( - config_dir, - "DATABASE_URL", - "postgres://postgres:postgres@plausible_db:5432/plausible_db" - ) - -if db_socket_dir = get_var_from_path_or_env(config_dir, "DATABASE_SOCKET_DIR") do - Logger.warning(""" - DATABASE_SOCKET_DIR is deprecated, please use DATABASE_URL instead: - - DATABASE_URL=postgresql://postgres:postgres@#{URI.encode_www_form(db_socket_dir)}/plausible_db - - or - - DATABASE_URL=postgresql:///plausible_db?host=#{db_socket_dir}" - - """) -end - -db_cacertfile = get_var_from_path_or_env(config_dir, "DATABASE_CACERTFILE") -%URI{host: db_host} = db_uri = URI.parse(db_url) -db_socket_dir? = String.starts_with?(db_host, "%2F") or db_host == "" - -if db_socket_dir? do - [database] = String.split(db_uri.path, "/", trim: true) - - socket_dir = - if db_host == "" do - db_host = (db_uri.query || "") |> URI.decode_query() |> Map.get("host") - db_host || raise ArgumentError, "DATABASE_URL=#{db_url} doesn't include host info" - else - URI.decode_www_form(db_host) - end - - config :plausible, Plausible.Repo, - socket_dir: socket_dir, - database: database - - if userinfo = db_uri.userinfo do - [username, password] = String.split(userinfo, ":") - - config :plausible, Plausible.Repo, - username: username, - password: password - end -else - config :plausible, Plausible.Repo, url: db_url - - unless Enum.empty?(db_maybe_ipv6) do - config :plausible, Plausible.Repo, socket_options: db_maybe_ipv6 - end - - db_query = URI.decode_query(db_uri.query || "") - # https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-SSLMODE-STATEMENTS - pg_sslmode = db_query["sslmode"] - - pg_ssl = - cond do - db_cacertfile -> - [cacertfile: db_cacertfile, verify: :verify_peer] - - pg_sslmode == "verify-full" -> - if pg_sslrootcert = db_query["sslrootcert"] do - [cacertfile: pg_sslrootcert, verify: :verify_peer] - else - raise ArgumentError, - "PostgreSQL SSL mode `sslmode=#{pg_sslmode}` requires a certificate, set it in `sslrootcert`" - end - - pg_sslmode == "verify-ca" -> - [cacerts: :public_key.cacerts_get(), verify: :verify_peer] - - pg_sslmode == "require" -> - [verify: :verify_none] - - pg_sslmode == "disable" -> - false - - pg_sslmode -> - raise ArgumentError, - "PostgreSQL SSL mode `sslmode=#{pg_sslmode}` is not supported, use `disable`, `require`, `verify-ca` or `verify-full` instead" - - true -> - # tls is disabled by default, because in self-hosted docker compose postgres is co-located - false - end - - config :plausible, Plausible.Repo, ssl: pg_ssl -end - -sentry_app_version = runtime_metadata[:version] || app_version - -config :sentry, - dsn: sentry_dsn, - environment_name: env, - release: sentry_app_version, - tags: %{ - app_version: sentry_app_version, - app_host: app_host - }, - client: Plausible.Sentry.Client, - send_max_attempts: 1, - before_send: {Plausible.SentryFilter, :before_send} - -config :plausible, :paddle, - vendor_auth_code: paddle_auth_code, - vendor_id: paddle_vendor_id - -config :plausible, :google, - client_id: google_cid, - client_secret: google_secret, - api_url: "https://www.googleapis.com", - reporting_api_url: "https://analyticsreporting.googleapis.com" - -config :plausible, Plausible.HelpScout, - app_id: help_scout_app_id, - app_secret: help_scout_app_secret, - signature_key: help_scout_signature_key, - vault_key: help_scout_vault_key - -config :plausible, :imported, - max_buffer_size: get_int_from_path_or_env(config_dir, "IMPORTED_MAX_BUFFER_SIZE", 10_000) - -maybe_ch_ipv6 = get_bool_from_path_or_env(config_dir, "ECTO_CH_IPV6", false) - -if maybe_ch_ipv6 && config_env() in [:ce, :ce_dev, :ce_test] do - Logger.warning( - "ECTO_CH_IPV6 is no longer necessary as all TCP connections now try IPv6 automatically with IPv4 fallback" - ) -end - -ch_cacertfile = get_var_from_path_or_env(config_dir, "CLICKHOUSE_CACERTFILE") - -ch_transport_opts = [ - keepalive: true, - show_econnreset: true, - inet6: maybe_ch_ipv6 -] - -ch_transport_opts = - if ch_cacertfile do - ch_transport_opts ++ [cacertfile: ch_cacertfile] - else - ch_transport_opts - end - -config :plausible, Plausible.ClickhouseRepo, - queue_target: 500, - queue_interval: 2000, - timeout: 15_000, - url: ch_db_url, - transport_opts: ch_transport_opts, - settings: [ - readonly: 1, - join_algorithm: "direct,parallel_hash,hash", - # stops queries when :timeout ClickhouseRepo connection :timeout value reached - cancel_http_readonly_queries_on_client_close: 1, - # stops queries when they will likely take over 20s - # NB! when :timeout is overridden to be over 20s, - # for it to have meaningful effect, - # this must be overridden as well - max_execution_time: 20 - ] - -config :plausible, Plausible.IngestRepo, - queue_target: 500, - queue_interval: 2000, - url: ch_db_url, - transport_opts: ch_transport_opts, - flush_interval_ms: ch_flush_interval_ms, - max_buffer_size: ch_max_buffer_size, - pool_size: ingest_pool_size, - settings: [ - materialized_views_ignore_errors: 1 - ], - table_settings: [ - storage_policy: get_var_from_path_or_env(config_dir, "CLICKHOUSE_DEFAULT_STORAGE_POLICY") - ] - -config :plausible, Plausible.AsyncInsertRepo, - queue_target: 500, - queue_interval: 2000, - url: ch_db_url, - transport_opts: ch_transport_opts, - pool_size: 1, - settings: [ - async_insert: 1, - wait_for_async_insert: 0, - materialized_views_ignore_errors: 1 - ] - -config :plausible, Plausible.ImportDeletionRepo, - queue_target: 500, - queue_interval: 2000, - url: ch_db_url, - transport_opts: ch_transport_opts, - pool_size: 1 - -config :plausible, Plausible.Ingestion.Persistor, - backend: persistor_backend, - backend_percent_enabled: persistor_backend_percent_enabled - -config :plausible, Plausible.Ingestion.Persistor.Remote, - url: persistor_url, - count: persistor_count, - timeout_ms: persistor_timeout_ms - -config :ex_money, - open_exchange_rates_app_id: get_var_from_path_or_env(config_dir, "OPEN_EXCHANGE_RATES_APP_ID"), - retrieve_every: :timer.hours(24) - -case mailer_adapter do - "Bamboo.PostmarkAdapter" -> - config :plausible, Plausible.Mailer, - adapter: Bamboo.PostmarkAdapter, - request_options: [recv_timeout: 10_000], - api_key: get_var_from_path_or_env(config_dir, "POSTMARK_API_KEY") - - "Bamboo.MailgunAdapter" -> - config :plausible, Plausible.Mailer, - adapter: Bamboo.MailgunAdapter, - hackney_opts: [recv_timeout: :timer.seconds(10)], - api_key: get_var_from_path_or_env(config_dir, "MAILGUN_API_KEY"), - domain: get_var_from_path_or_env(config_dir, "MAILGUN_DOMAIN") - - if mailgun_base_uri = get_var_from_path_or_env(config_dir, "MAILGUN_BASE_URI") do - config :plausible, Plausible.Mailer, base_uri: mailgun_base_uri - end - - "Bamboo.MandrillAdapter" -> - config :plausible, Plausible.Mailer, - adapter: Bamboo.MandrillAdapter, - hackney_opts: [recv_timeout: :timer.seconds(10)], - api_key: get_var_from_path_or_env(config_dir, "MANDRILL_API_KEY") - - "Bamboo.SendGridAdapter" -> - config :plausible, Plausible.Mailer, - adapter: Bamboo.SendGridAdapter, - hackney_opts: [recv_timeout: :timer.seconds(10)], - api_key: get_var_from_path_or_env(config_dir, "SENDGRID_API_KEY") - - "Bamboo.SMTPAdapter" -> - raise ArgumentError, """ - Bamboo.SMTPAdapter is no longer supported as the adapter is no longer maintained. - Please switch to Bamboo.Mua instead. - """ - - "Bamboo.Mua" -> - config :plausible, Plausible.Mailer, adapter: Bamboo.Mua - - # prevents common problems with Erlang's TLS v1.3 - middlebox_comp_mode = - get_bool_from_path_or_env(config_dir, "SMTP_MIDDLEBOX_COMP_MODE", false) - - config :plausible, Plausible.Mailer, ssl: [middlebox_comp_mode: middlebox_comp_mode] - - if relay = get_var_from_path_or_env(config_dir, "SMTP_HOST_ADDR") do - port = get_int_from_path_or_env(config_dir, "SMTP_HOST_PORT", 587) - ssl_enabled = get_bool_from_path_or_env(config_dir, "SMTP_HOST_SSL_ENABLED") - - protocol = - cond do - ssl_enabled -> :ssl - is_nil(ssl_enabled) and port == 465 -> :ssl - true -> :tcp - end - - config :plausible, Plausible.Mailer, protocol: protocol, relay: relay, port: port - end - - username = get_var_from_path_or_env(config_dir, "SMTP_USER_NAME") - password = get_var_from_path_or_env(config_dir, "SMTP_USER_PWD") - - cond do - username && password -> - config :plausible, Plausible.Mailer, auth: [username: username, password: password] - - username || password -> - raise ArgumentError, """ - Both SMTP_USER_NAME and SMTP_USER_PWD must be set for SMTP authentication. - Please provide values for both environment variables. - """ - - _both_nil = true -> - nil - end - - "Bamboo.LocalAdapter" -> - config :plausible, Plausible.Mailer, adapter: Bamboo.LocalAdapter - - "Bamboo.TestAdapter" -> - config :plausible, Plausible.Mailer, adapter: Bamboo.TestAdapter - - _ -> - raise ArgumentError, """ - Unknown mailer_adapter: #{inspect(mailer_adapter)} - - Please see https://hexdocs.pm/bamboo/readme.html#available-adapters - for the list of available adapters that ship with Bamboo - """ -end - -base_cron = [ - # Daily at midnight - {"0 0 * * *", Plausible.Workers.RotateSalts}, - # hourly - {"0 * * * *", Plausible.Workers.ScheduleEmailReports}, - # hourly - {"0 * * * *", Plausible.Workers.SendSiteSetupEmails}, - # Daily at midday - {"0 12 * * *", Plausible.Workers.SendCheckStatsEmails}, - # Every 15 minutes - {"*/15 * * * *", Plausible.Workers.TrafficChangeNotifier}, - # Every day at 1am - {"0 1 * * *", Plausible.Workers.CleanInvitations}, - # Every 2 hours - {"30 */2 * * *", Plausible.Workers.CleanUserSessions}, - # Every 2 hours - {"0 */2 * * *", Plausible.Workers.ExpireDomainChangeTransitions}, - # Daily at midnight - {"0 0 * * *", Plausible.Workers.LocationsSync} -] - -cloud_cron = [ - # Daily at midday - {"0 12 * * *", Plausible.Workers.SendTrialNotifications}, - # Daily at 14 - {"0 14 * * *", Plausible.Workers.CheckUsage}, - # Daily at 15 - {"0 15 * * *", Plausible.Workers.NotifyAnnualRenewal}, - # Every midnight - {"0 0 * * *", Plausible.Workers.LockSites}, - # Daily at 8 - {"0 8 * * *", Plausible.Workers.AcceptTrafficUntil}, - # First sunday of the month, 4:00 UTC - {"0 4 1-7 * SUN", Plausible.Workers.ClickhouseCleanSites}, - # Daily at 4:00 UTC - {"0 4 * * *", Plausible.Workers.SetLegacyTimeOnPageCutoff}, - # Daily at 2:00 UTC - {"0 2 * * *", Plausible.Workers.ScoreTrialProspects} -] - -crontab = if(is_selfhost, do: base_cron, else: base_cron ++ cloud_cron) - -base_queues = [ - rotate_salts: 1, - schedule_email_reports: 1, - send_email_reports: 1, - spike_notifications: 1, - check_stats_emails: 1, - site_setup_emails: 1, - clean_invitations: 1, - clean_user_sessions: 1, - analytics_imports: 1, - analytics_exports: 1, - notify_exported_analytics: 1, - domain_change_transition: 1, - check_accept_traffic_until: 1, - clickhouse_clean_sites: 1, - locations_sync: 1 -] - -cloud_queues = [ - trial_notification_emails: 1, - check_usage: 1, - notify_annual_renewal: 1, - lock_sites: 1, - legacy_time_on_page_cutoff: 1, - purge_cdn_cache: 1, - sso_domain_ownership_verification: 32, - score_trial_prospects: 1 -] - -queues = if(is_selfhost, do: base_queues, else: base_queues ++ cloud_queues) -cron_enabled = !disable_cron - -thirty_days_in_seconds = 60 * 60 * 24 * 30 - -if config_env() in [:prod, :ce, :load] do - config :plausible, Oban, - repo: Plausible.Repo, - plugins: [ - # Keep 30 days history - {Oban.Plugins.Pruner, max_age: thirty_days_in_seconds}, - {Oban.Plugins.Cron, crontab: if(cron_enabled, do: crontab, else: [])}, - # Rescue orphaned jobs after 2 hours - {Oban.Plugins.Lifeline, rescue_after: :timer.minutes(120)}, - # Daily at 1am - {Oban.Plugins.Reindexer, schedule: "0 1 * * *"} - ], - queues: if(cron_enabled, do: queues, else: []), - peer: if(cron_enabled, do: Oban.Peers.Postgres, else: false) -else - config :plausible, Oban, - repo: Plausible.Repo, - queues: queues -end - -config :plausible, :hcaptcha, - sitekey: hcaptcha_sitekey, - secret: hcaptcha_secret - -nolt_sso_secret = get_var_from_path_or_env(config_dir, "NOLT_SSO_SECRET") -config :joken, default_signer: nolt_sso_secret - -config :plausible, Plausible.Sentry.Client, - finch_request_opts: [ - pool_timeout: get_int_from_path_or_env(config_dir, "SENTRY_FINCH_POOL_TIMEOUT", 5000), - receive_timeout: get_int_from_path_or_env(config_dir, "SENTRY_FINCH_RECEIVE_TIMEOUT", 15000) - ] - -config :plausible, Plausible.Workers.PurgeCDNCache, - pullzone_id: get_var_from_path_or_env(config_dir, "BUNNY_PULLZONE_ID"), - api_key: get_var_from_path_or_env(config_dir, "BUNNY_API_KEY") - -config :ref_inspector, - init: {Plausible.Release, :configure_ref_inspector} - -config :ua_inspector, - init: {Plausible.Release, :configure_ua_inspector} - -geo_opts = - cond do - maxmind_license_key -> - [ - license_key: maxmind_license_key, - edition: maxmind_edition, - cache_dir: persistent_cache_dir, - async: true - ] - - ip_geolocation_db -> - [path: ip_geolocation_db] - - true -> - raise """ - Missing geolocation database configuration. - - Please set the IP_GEOLOCATION_DB environment value to the location of - your IP geolocation .mmdb file: - - IP_GEOLOCATION_DB=/etc/plausible/dbip-city.mmdb - - Or authenticate with MaxMind by - configuring MAXMIND_LICENSE_KEY and (optionally) MAXMIND_EDITION environment - variables: - - MAXMIND_LICENSE_KEY=LNpsJCCKPis6XvBP - MAXMIND_EDITION=GeoLite2-City # this is the default edition - - """ - end - -config :plausible, Plausible.Geo, geo_opts - -if geonames_source_file do - config :location, :geonames_source_file, geonames_source_file -end - -if honeycomb_api_key && honeycomb_dataset do - config :opentelemetry, - resource: Plausible.OpenTelemetry.resource_attributes(runtime_metadata), - span_processor: :batch, - traces_exporter: :otlp - - config :opentelemetry_exporter, - otlp_protocol: :grpc, - otlp_endpoint: otlp_endpoint, - otlp_headers: [ - {"x-honeycomb-team", honeycomb_api_key}, - {"x-honeycomb-dataset", honeycomb_dataset} - ] -else - config :opentelemetry, - sampler: :always_off, - traces_exporter: :none -end - -beam_metrics_enabled? = get_bool_from_path_or_env(config_dir, "BEAM_METRICS_ENABLED", false) - -if beam_metrics_enabled? do - beam_metrics_interval = get_int_from_path_or_env(config_dir, "BEAM_METRICS_INTERVAL_MS", 5_000) - - beam_metrics_otlp_endpoint = - get_var_from_path_or_env(config_dir, "OTEL_EXPORTER_OTLP_ENDPOINT") || otlp_endpoint - - config :opentelemetry_experimental, - readers: [ - %{ - module: :otel_metric_reader, - config: %{ - export_interval_ms: beam_metrics_interval, - exporter: - {:otel_exporter_metrics_otlp, - %{ - endpoints: [beam_metrics_otlp_endpoint] - }} - } - } - ] -end - -config :tzdata, :data_dir, Path.join(persistent_cache_dir || System.tmp_dir!(), "tzdata_data") - -promex_disabled? = get_bool_from_path_or_env(config_dir, "PROMEX_DISABLED", true) - -config :plausible, Plausible.PromEx, - disabled: promex_disabled?, - manual_metrics_start_delay: :no_delay, - drop_metrics_groups: [], - grafana: :disabled, - metrics_server: :disabled - -config :plausible, Plausible.InstallationSupport.BrowserlessConfig, - token: get_var_from_path_or_env(config_dir, "BROWSERLESS_TOKEN", "dummy_token"), - endpoint: get_var_from_path_or_env(config_dir, "BROWSERLESS_ENDPOINT", "http://0.0.0.0:3000") - -if not is_selfhost do - site_default_ingest_threshold = - case System.get_env("SITE_DEFAULT_INGEST_THRESHOLD") do - threshold when byte_size(threshold) > 0 -> - {value, ""} = Integer.parse(threshold) - value - - _ -> - nil - end - - config :plausible, Plausible.Site, default_ingest_threshold: site_default_ingest_threshold -end - -s3_disabled? = get_bool_from_path_or_env(config_dir, "S3_DISABLED", true) - -unless s3_disabled? do - s3_env = [ - %{ - name: "S3_ACCESS_KEY_ID", - example: "AKIAIOSFODNN7EXAMPLE" - }, - %{ - name: "S3_SECRET_ACCESS_KEY", - example: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" - }, - %{ - name: "S3_REGION", - example: "us-east-1" - }, - %{ - name: "S3_ENDPOINT", - example: "https://.r2.cloudflarestorage.com" - }, - %{ - name: "S3_EXPORTS_BUCKET", - example: "my-csv-exports-bucket" - }, - %{ - name: "S3_IMPORTS_BUCKET", - example: "my-csv-imports-bucket" - } - ] - - s3_env = - Enum.map(s3_env, fn var -> - Map.put(var, :value, get_var_from_path_or_env(config_dir, var.name)) - end) - - s3_missing_env = Enum.filter(s3_env, &is_nil(&1.value)) - - unless s3_missing_env == [] do - raise ArgumentError, """ - Missing S3 configuration. Please set #{s3_missing_env |> Enum.map(& &1.name) |> Enum.join(", ")} environment variable(s): - - #{s3_missing_env |> Enum.map(fn %{name: name, example: example} -> "\t#{name}=#{example}" end) |> Enum.join("\n")} - """ - end - - s3_env_value = fn name -> - s3_env |> Enum.find(&(&1.name == name)) |> Map.fetch!(:value) - end - - config :ex_aws, - http_client: Plausible.S3.Client, - access_key_id: s3_env_value.("S3_ACCESS_KEY_ID"), - secret_access_key: s3_env_value.("S3_SECRET_ACCESS_KEY"), - region: s3_env_value.("S3_REGION") - - %URI{scheme: s3_scheme, host: s3_host, port: s3_port} = URI.parse(s3_env_value.("S3_ENDPOINT")) - - config :ex_aws, :s3, - scheme: s3_scheme <> "://", - host: s3_host, - port: s3_port - - config :plausible, Plausible.S3, - exports_bucket: s3_env_value.("S3_EXPORTS_BUCKET"), - imports_bucket: s3_env_value.("S3_IMPORTS_BUCKET") -end - -config :plausible, Plausible.Cache.Adapter, sessions: [partitions: 100] diff --git a/config/test.exs b/config/test.exs deleted file mode 100644 index 17f97b139843c983649ba4c7d4ca65a03f1874f9..0000000000000000000000000000000000000000 --- a/config/test.exs +++ /dev/null @@ -1,67 +0,0 @@ -import Config - -# We don't run a server during test. If one is required, -# you can enable the server option below. -config :plausible, PlausibleWeb.Endpoint, server: false - -config :bcrypt_elixir, :log_rounds, 4 - -config :plausible, Plausible.Repo, - pool: Ecto.Adapters.SQL.Sandbox, - pool_size: System.schedulers_online() - -config :plausible, Plausible.ClickhouseRepo, - loggers: [Ecto.LogEntry], - pool_size: 15 - -config :plausible, Plausible.Mailer, adapter: Bamboo.TestAdapter - -config :plausible, - paddle_api: Plausible.Billing.TestPaddleApiMock, - google_api: Plausible.Google.API.Mock - -config :bamboo, :refute_timeout, 10 - -config :plausible, - session_timeout: 0, - http_impl: Plausible.HTTPClient.Mock - -config :plausible, - dns_lookup_impl: Plausible.DnsLookup.Mock - -config :plausible, Plausible.Cache, enabled: false - -config :ex_money, api_module: Plausible.ExchangeRateMock - -config :plausible, Plausible.Ingestion.Counters, enabled: false - -config :plausible, Oban, testing: :manual - -config :plausible, Plausible.InstallationSupport.Checks.FetchBody, - req_opts: [ - plug: {Req.Test, Plausible.InstallationSupport.Checks.FetchBody} - ] - -config :plausible, Plausible.InstallationSupport.Checks.Installation, - req_opts: [ - plug: {Req.Test, Plausible.InstallationSupport.Checks.Installation} - ] - -config :plausible, Plausible.HelpScout, - req_opts: [ - plug: {Req.Test, Plausible.HelpScout} - ] - -config :plausible, Plausible.InstallationSupport.Checks.Detection, - req_opts: [ - plug: {Req.Test, Plausible.InstallationSupport.Checks.Detection} - ] - -config :plausible, Plausible.InstallationSupport.Checks.VerifyInstallation, - req_opts: [ - plug: {Req.Test, Plausible.InstallationSupport.Checks.VerifyInstallation} - ] - -config :plausible, Plausible.Session.Salts, interval: :timer.hours(1) - -config :plausible, max_goals_per_site: 10 diff --git a/e2e/.gitignore b/e2e/.gitignore deleted file mode 100644 index 99a51372c2edbfde875722dbda5ad03d62a09200..0000000000000000000000000000000000000000 --- a/e2e/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ - -# Playwright -node_modules/ -/test-results/ -/playwright-report/ -/blob-report/ -/output/ -/playwright/.cache/ -/playwright/.auth/ diff --git a/e2e/.prettierignore b/e2e/.prettierignore deleted file mode 100644 index c2658d7d1b31848c3b71960543cb0368e56cd4c7..0000000000000000000000000000000000000000 --- a/e2e/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -node_modules/ diff --git a/e2e/.prettierrc.json b/e2e/.prettierrc.json deleted file mode 100644 index 81c51f9894bdf06e1cbe947905f6d871f7bc8923..0000000000000000000000000000000000000000 --- a/e2e/.prettierrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "singleQuote": true, - "trailingComma": "none", - "semi": false -} diff --git a/e2e/eslint.config.mjs b/e2e/eslint.config.mjs deleted file mode 100644 index c56da44ee99e6c2daa9d583cb8ea70940bf32f7d..0000000000000000000000000000000000000000 --- a/e2e/eslint.config.mjs +++ /dev/null @@ -1,46 +0,0 @@ -import eslint from '@eslint/js' -import pluginPlaywright from 'eslint-plugin-playwright' -import prettierEslintInteroperabilityConfig from 'eslint-config-prettier/flat' -import tseslint from 'typescript-eslint' - -export default tseslint.config([ - // shared config for all files - eslint.configs.recommended, - tseslint.configs.recommended, - { - rules: { - '@typescript-eslint/no-unused-vars': [ - 'error', - { - argsIgnorePattern: '^_', - varsIgnorePattern: '^_', - caughtErrorsIgnorePattern: '^_' - } - ], - '@typescript-eslint/no-unused-expressions': [ - 'error', - { - allowShortCircuit: true - } - ] - } - }, - // config for tests of tracker scripts and installation support scripts - { - files: ['tests/**/*.ts'], - ...pluginPlaywright.configs['flat/recommended'], - languageOptions: { - ecmaVersion: 'latest' - }, - rules: { - ...pluginPlaywright.configs['flat/recommended'].rules, - 'playwright/expect-expect': [ - 'error', - { - assertFunctionNames: ['expectLiveViewConnected'] - } - ] - } - }, - prettierEslintInteroperabilityConfig -]) diff --git a/e2e/package-lock.json b/e2e/package-lock.json deleted file mode 100644 index e8d62c33f03431ba175e032269bdf624292a8ff7..0000000000000000000000000000000000000000 --- a/e2e/package-lock.json +++ /dev/null @@ -1,1679 +0,0 @@ -{ - "name": "e2e", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "e2e", - "license": "MIT", - "devDependencies": { - "@eslint/js": "^9.39.2", - "@js-joda/core": "^5.7.0", - "@js-joda/locale_en-us": "^4.15.3", - "@playwright/test": "^1.58.0", - "@types/node": "^25.1.0", - "eslint": "^9.39.2", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-playwright": "^2.5.1", - "fflate": "^0.8.0", - "prettier": "^3.8.1", - "typescript": "^5.9.3", - "typescript-eslint": "^8.55.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", - "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.5" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", - "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.14.0", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.5", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", - "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", - "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/types": "^0.15.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", - "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.2", - "@humanfs/types": "^0.15.0", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/types": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", - "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@js-joda/core": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/@js-joda/core/-/core-5.7.0.tgz", - "integrity": "sha512-WBu4ULVVxySLLzK1Ppq+OdfP+adRS4ntmDQT915rzDJ++i95gc2jZkM5B6LWEAwN3lGXpfie3yPABozdD3K3Vg==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@js-joda/locale_en-us": { - "version": "4.15.3", - "resolved": "https://registry.npmjs.org/@js-joda/locale_en-us/-/locale_en-us-4.15.3.tgz", - "integrity": "sha512-UOENFB1q8mWHvYm62eJZUwB3hMAOexgYaxslbwwxR3mA65ojcbfmqtafE8CR2I5Lbz4wUuGHPkHhguCBucGNWQ==", - "dev": true, - "license": "BSD-3-Clause", - "peerDependencies": { - "@js-joda/core": ">=3.2.0", - "@js-joda/timezone": "^2.3.0" - } - }, - "node_modules/@js-joda/timezone": { - "version": "2.25.1", - "resolved": "https://registry.npmjs.org/@js-joda/timezone/-/timezone-2.25.1.tgz", - "integrity": "sha512-s79ts8bXrWqM9dIBKc0AdgGuAUFpu9gmzYhOCPHJlks/Sf7FSbJHRauWlFYUwjSTZevimqthEvJycrwrVz5m4g==", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "peerDependencies": { - "@js-joda/core": ">=5.7.0" - } - }, - "node_modules/@playwright/test": { - "version": "1.60.0", - "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.60.0.tgz", - "integrity": "sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright": "1.60.0" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@types/estree": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "25.9.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.2.tgz", - "integrity": "sha512-G05zqtJhcDLb8uslf5EjCxXg9G1KQxiV8OS0R26IC//Eoyitzqe8z37I7cqvnZlrlSfgocQRfSn/AHBZJJFyGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": ">=7.24.0 <7.24.7" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.60.1.tgz", - "integrity": "sha512-JQ4S5GB0tfjO8BuJ4fcX+HodkzJjYBV+7OJ+wLygaX7OGQ7FudyHL4NSCA6ob+w3Yn+5MkKIozOwQhXeM7opVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.60.1", - "@typescript-eslint/type-utils": "8.60.1", - "@typescript-eslint/utils": "8.60.1", - "@typescript-eslint/visitor-keys": "8.60.1", - "ignore": "^7.0.5", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.60.1", - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.60.1.tgz", - "integrity": "sha512-A0M6ua6H252bVjPvvtSgl2QA4+ET9S5Mtkb2GDyTxIhH/C4qDItT7RQNO5PhMC6NXGYXOR9dIalcDDgBKT7oFA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "8.60.1", - "@typescript-eslint/types": "8.60.1", - "@typescript-eslint/typescript-estree": "8.60.1", - "@typescript-eslint/visitor-keys": "8.60.1", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.60.1.tgz", - "integrity": "sha512-eXkTH2bxmXlqD1RnOPmLZ9ZM9D3VwSx04JOwBnP9RQ+yUA5a2Mu7SfW8uaV2Aon53NJzZlZYuX7tn91Izf+xaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.60.1", - "@typescript-eslint/types": "^8.60.1", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.60.1.tgz", - "integrity": "sha512-gvI5OQoptnxQnchOirukCuQ55svJSTuD/4k5+pC267xyBtYry748R9/c3tYUzb/iE6RZfllRz2lVulLCHkTm4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.60.1", - "@typescript-eslint/visitor-keys": "8.60.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.60.1.tgz", - "integrity": "sha512-nh8w4qAteiKuZu3pSSzG/yGKpw0OlkrKnzFmbVRenKaD4qc+7i1GrmZaLVkr8rk4uipiPGMOW4YsM6WmKZ5CvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.60.1.tgz", - "integrity": "sha512-sdwTrpjosW7ANQYJ39ZBF1ZyEMEGVB2UsikrserVM/30a/F1dTLnu9bGxEdosugyu5caigjLrR2qiD11asjI1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.60.1", - "@typescript-eslint/typescript-estree": "8.60.1", - "@typescript-eslint/utils": "8.60.1", - "debug": "^4.4.3", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.60.1.tgz", - "integrity": "sha512-4h0tY8ppCkdCzcrl2YM5M3my0xsE1Tf8om3owEu5oPWmXwkKRmk0j0LGDzYBGUcAlesEbxBhazqu/K4cu3Ug7w==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.60.1.tgz", - "integrity": "sha512-alpRkfG8hlVE5kdJW2GkfgDgXxold3e8e4l6EnmhRmRLbekgAPCCGDVD++sABy9FcgPFroq+uFcCSM1vR57Cew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.60.1", - "@typescript-eslint/tsconfig-utils": "8.60.1", - "@typescript-eslint/types": "8.60.1", - "@typescript-eslint/visitor-keys": "8.60.1", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz", - "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.60.1.tgz", - "integrity": "sha512-h2MPBLoNtjc3qZWfY3Tl51yPorQ2McHn8pJfcMNTcIvrrZrr90Ykffit0yjrPFWQcRcUxzH20+6OcVdW4yHtUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.60.1", - "@typescript-eslint/types": "8.60.1", - "@typescript-eslint/typescript-estree": "8.60.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.60.1.tgz", - "integrity": "sha512-EbGRQg4FhrmwLodl+t3JNAnXHWVr9Vp+Zl1QBZVPY4ByfkzIT8cX3K6QWODHtkIZqqJVEWvhHSx3v5PDHsaQag==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.60.1", - "eslint-visitor-keys": "^5.0.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz", - "integrity": "sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", - "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.2", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.5", - "@eslint/js": "9.39.4", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.14.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.5", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-prettier": { - "version": "10.1.8", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz", - "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "funding": { - "url": "https://opencollective.com/eslint-config-prettier" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-playwright": { - "version": "2.10.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-2.10.4.tgz", - "integrity": "sha512-l0V/VxyqfFbtqCTxj5AdRn3Q6S/hIW4nKBnKZVleVbZ24N2My6Usj//ytX3dKKqAoSbvKck9YtSytfdZ5qjLuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "globals": "^17.3.0" - }, - "engines": { - "node": ">=16.9.0" - }, - "peerDependencies": { - "eslint": ">=8.40.0" - } - }, - "node_modules/eslint-plugin-playwright/node_modules/globals": { - "version": "17.6.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-17.6.0.tgz", - "integrity": "sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/fflate": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.3.tgz", - "integrity": "sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==", - "dev": true, - "license": "MIT" - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/js-yaml": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.2.0.tgz", - "integrity": "sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/puzrin" - }, - { - "type": "github", - "url": "https://github.com/sponsors/nodeca" - } - ], - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/minimatch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", - "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/playwright": { - "version": "1.60.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.60.0.tgz", - "integrity": "sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "playwright-core": "1.60.0" - }, - "bin": { - "playwright": "cli.js" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "fsevents": "2.3.2" - } - }, - "node_modules/playwright-core": { - "version": "1.60.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.60.0.tgz", - "integrity": "sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "playwright-core": "cli.js" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.3.tgz", - "integrity": "sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/semver": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.2.tgz", - "integrity": "sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", - "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/ts-api-utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", - "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.60.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.60.1.tgz", - "integrity": "sha512-6m5hkkRAp8lKvhVpcprAIn5KkehQEh+47oHH2VGnExEh7dhNxXlg6GPAOIu6TxbVQxhebrJDvjl3020ooiWCMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.60.1", - "@typescript-eslint/parser": "8.60.1", - "@typescript-eslint/typescript-estree": "8.60.1", - "@typescript-eslint/utils": "8.60.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" - } - }, - "node_modules/undici-types": { - "version": "7.24.6", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", - "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==", - "dev": true, - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/e2e/package.json b/e2e/package.json deleted file mode 100644 index 04b77d6e55f7c7408dec3a4b42a643ab570a88e6..0000000000000000000000000000000000000000 --- a/e2e/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "e2e", - "scripts": { - "lint": "eslint", - "format": "prettier --write \"**/*.{js,mjs,ts,html,json,md}\"", - "check-format": "prettier --check \"**/*.{js,mjs,ts,html,json,md}\"", - "typecheck": "tsc --noEmit --pretty", - "test": "npx playwright test" - }, - "license": "MIT", - "devDependencies": { - "@eslint/js": "^9.39.2", - "fflate": "^0.8.0", - "@js-joda/core": "^5.7.0", - "@js-joda/locale_en-us": "^4.15.3", - "@playwright/test": "^1.58.0", - "@types/node": "^25.1.0", - "eslint": "^9.39.2", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-playwright": "^2.5.1", - "prettier": "^3.8.1", - "typescript": "^5.9.3", - "typescript-eslint": "^8.55.0" - } -} diff --git a/e2e/playwright.config.ts b/e2e/playwright.config.ts deleted file mode 100644 index 84408c498981957b09b0eabc4fe8c98f1966fa80..0000000000000000000000000000000000000000 --- a/e2e/playwright.config.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { defineConfig, devices } from '@playwright/test' - -const baseURL: string = process.env.BASE_URL! -const isCI: boolean = !!process.env.CI - -/** - * See https://playwright.dev/docs/test-configuration. - */ -export default defineConfig({ - testDir: './tests', - /* Run tests in files in parallel */ - fullyParallel: true, - /* Fail the build on CI if you accidentally left test.only in the source code. */ - forbidOnly: isCI, - /* Retry on CI only */ - retries: isCI ? 2 : 0, - /* Make test timeout shorter when running tests in local dev env. */ - timeout: isCI ? 30_000 : 15_000, - /* Reporter to use. See https://playwright.dev/docs/test-reporters */ - reporter: 'list', - /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ - use: { - /* Base URL to use in actions like `await page.goto('')`. */ - baseURL, - - // launchOptions: {slowMo: 500}, - - /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ - trace: 'on-first-retry' - }, - /* Opt out of parallel tests on CI. */ - ...(isCI && { workers: 4 }), - - /* Configure projects for major browsers */ - projects: [ - { - name: 'chromium', - use: { ...devices['Desktop Chrome'] } - } - - // { - // name: 'firefox', - // use: { ...devices['Desktop Firefox'] }, - // }, - // - // { - // name: 'webkit', - // use: { ...devices['Desktop Safari'] }, - // }, - - /* Test against mobile viewports. */ - // { - // name: 'Mobile Chrome', - // use: { ...devices['Pixel 5'] }, - // }, - // { - // name: 'Mobile Safari', - // use: { ...devices['iPhone 12'] }, - // }, - - /* Test against branded browsers. */ - // { - // name: 'Microsoft Edge', - // }, - // { - // name: 'Google Chrome', - // use: { ...devices['Desktop Chrome'], channel: 'chrome' }, - // }, - ], - webServer: { - cwd: '..', - command: 'mix phx.server', - env: { ...(process.env as Record), MIX_ENV: 'e2e_test' }, - gracefulShutdown: { signal: 'SIGTERM', timeout: 500 }, - url: `${baseURL}/api/system/health/ready`, - reuseExistingServer: !isCI - } -}) diff --git a/e2e/tests/dashboard/annotations.spec.ts b/e2e/tests/dashboard/annotations.spec.ts deleted file mode 100644 index aa15273f25d53f71666ad9bfcfee757da2639ca6..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/annotations.spec.ts +++ /dev/null @@ -1,265 +0,0 @@ -import { test, expect } from '@playwright/test' -import { setupSite, populateStats, register } from '../fixtures' -import { randomID } from '../test-utils' - -test.use({ locale: 'en-GB' }) - -test('user can create annotations across granularities, edit, and delete them', async ({ - page, - request -}) => { - const user = { - email: `site-owner-for-annotations-${randomID()}@example.com`, - // name matters in this test - name: 'J R.R. Smith', - password: 'VeryStrongVerySecret' - } - await register({ - page, - request, - user - }) - const { domain } = await setupSite({ page, request, user }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 0, - name: 'pageview', - pathname: '/', - timestamp: '2026-04-01 00:00:00' - }, - { - user_id: 1, - name: 'pageview', - pathname: '/', - timestamp: '2026-06-29 05:00:00' - }, - { - user_id: 2, - name: 'pageview', - pathname: '/', - timestamp: '2026-06-29 10:00:00' - } - ] - }) - - await page.goto(`/${domain}?period=7d&date=2026-07-06&comparison=off`, { - waitUntil: 'commit' - }) - - const mondayIn7d = page.getByTestId('graph-dot-series-1-bucket-0') - const mondayMarker7d = page.getByTestId('annotation-marker-on-bucket-0') - - const tooltip = page.getByTestId('graph-tooltip') - - // inputs in create / edit modals - const noteField = page.getByRole('textbox', { name: 'Note' }) - const saveButton = page.getByRole('button', { name: 'Save' }) - - const siteNoteText = 'Company-wide: launch day' - const personalNoteText = 'Feature available for 50% of customers' - const updatedNoteText = 'Feature fully released (correction)' - - const personalNoteAttribution = 'Personal note • 29 Jun 10:00' - const siteNoteAttribution = `${user.name} • 29 Jun` - - // Asserts the tooltip's annotation list matches provided list exactly - const expectTooltipAnnotations = async ( - expected: Array<{ note: string; attribution: string }> - ) => { - const rows = tooltip.locator('div.group') - await expect(rows).toHaveCount(expected.length) - for (const [i, { note, attribution }] of expected.entries()) { - const row = rows.nth(i) - await expect(row).toContainText(note) - await expect(row.getByText(attribution, { exact: true })).toBeVisible() - } - } - - // Needed because the tests expect a particular graph interval - const setGraphInterval = async (label: 'Hours' | 'Days' | 'Months') => { - await page.getByTestId('dashboard-options-menu').click() - await page.getByRole('button', { name: label, exact: true }).click() - await page.keyboard.press('Escape') - } - - await test.step('in 7d view, create date-granularity site annotation on Monday', async () => { - await setGraphInterval('Days') - - // hovered tooltip - await mondayIn7d.hover() - await expect(tooltip).toBeVisible() - await expectTooltipAnnotations([]) - - await expect(tooltip).toContainText('Click to view day') - await expect(tooltip).toContainText('Right click for more actions') - - // persisted tooltip - await mondayIn7d.click({ button: 'right' }) - await expect(tooltip).toBeVisible() - - await expect(tooltip.locator('button')).toContainText([ - 'Add note', - 'View day' - ]) - await tooltip.getByRole('button', { name: 'Add note' }).click() - - const createModalHeading = page.getByRole('heading', { - name: 'Add note for Mon, 29 Jun', - exact: true - }) - await expect(createModalHeading).toBeVisible() - - await noteField.fill(siteNoteText) - await page.getByRole('radio', { name: /Site note/ }).check() - await saveButton.click() - - await expect(createModalHeading).toBeHidden() - await expect(mondayMarker7d).toBeVisible() - }) - - await test.step('right-click Monday and zoom in via "View day"', async () => { - await mondayIn7d.hover() - await expectTooltipAnnotations([ - { note: siteNoteText, attribution: siteNoteAttribution } - ]) - - await mondayIn7d.click({ button: 'right' }) - - await tooltip.getByRole('button', { name: 'View day' }).click() - await expect(page).toHaveURL(/period=day&date=2026-06-29/) - - // Date-granularity annotations don't map to hour buckets — no marker in day view. - await expect(page.getByTestId(/^annotation-marker-on-bucket-/)).toHaveCount( - 0 - ) - }) - - await test.step('in day view, create minute-granularity personal annotation at 10:00', async () => { - await setGraphInterval('Hours') - - const hour10InDay = page.getByTestId('graph-dot-series-1-bucket-10') - await hour10InDay.hover() - await hour10InDay.click({ button: 'right' }) - await expect(tooltip).toBeVisible() - - await tooltip.getByRole('button', { name: 'Add note' }).click() - - const createModalHeading = page.getByRole('heading', { - name: 'Add note for Mon, 29 Jun at 10:00', - exact: true - }) - await expect(createModalHeading).toBeVisible() - await expect(tooltip).toBeHidden() - - await noteField.fill(personalNoteText) - await saveButton.click() - - await expect(createModalHeading).toBeHidden() - await expect( - page.getByTestId('annotation-marker-on-bucket-10') - ).toBeVisible() - }) - - await test.step('zoom back out to 7d, both annotations are visible on Monday', async () => { - await page.goBack({ waitUntil: 'commit' }) - await setGraphInterval('Days') - - await expect(mondayMarker7d).toBeVisible() - - const expectedOnMonday = [ - { note: siteNoteText, attribution: siteNoteAttribution }, - { note: personalNoteText, attribution: personalNoteAttribution } - ] - - await mondayIn7d.hover() - await expect(tooltip).toBeVisible() - await expectTooltipAnnotations(expectedOnMonday) - - await mondayIn7d.click({ button: 'right' }) - await expect(tooltip).toBeVisible() - await expectTooltipAnnotations(expectedOnMonday) - }) - - await test.step('edit personal annotation', async () => { - const personalRow = tooltip.locator('div.group', { - hasText: personalNoteText - }) - await personalRow.hover() - await personalRow.getByRole('button', { name: 'Edit note' }).click() - - const updateModalHeading = page.getByRole('heading', { - name: 'Update note for Mon, 29 Jun at 10:00', - exact: true - }) - await expect(updateModalHeading).toBeVisible() - await expect(tooltip).toBeHidden() - await expect(noteField).toHaveValue(personalNoteText) - - await noteField.fill(updatedNoteText) - await saveButton.click() - - await expect(updateModalHeading).toBeHidden() - - await mondayIn7d.hover() - await mondayIn7d.click({ button: 'right' }) - await expectTooltipAnnotations([ - { note: siteNoteText, attribution: siteNoteAttribution }, - { note: updatedNoteText, attribution: personalNoteAttribution } - ]) - }) - - await test.step('delete personal annotation', async () => { - const personalNote = tooltip.locator('div.group', { - hasText: updatedNoteText - }) - await personalNote.hover() - await personalNote.getByRole('button', { name: 'Edit note' }).click() - - const updateModalHeading = page.getByRole('heading', { - name: 'Update note for Mon, 29 Jun at 10:00', - exact: true - }) - await expect(updateModalHeading).toBeVisible() - - await page.getByRole('button', { name: 'Delete note' }).click() - - const deleteModalHeading = page.getByRole('heading', { - name: `Delete personal note "${updatedNoteText}"?`, - exact: true - }) - await expect(deleteModalHeading).toBeVisible() - await expect(updateModalHeading).toBeHidden() - - await page.getByRole('button', { name: 'Delete', exact: true }).click() - - await expect(deleteModalHeading).toBeHidden() - await mondayIn7d.hover() - await expectTooltipAnnotations([ - { note: siteNoteText, attribution: siteNoteAttribution } - ]) - await expect(mondayMarker7d).toBeVisible() - }) - - await test.step('date annotations are shown for All period', async () => { - await page.getByTestId('current-query-period').click() - await page - .getByTestId('query-period-picker') - .getByRole('link', { name: 'All time' }) - .click() - await expect(page).toHaveURL(/period=all/) - - const marker = page.getByTestId(/^annotation-marker-on-bucket-/) - await expect(marker).toHaveCount(1) - await expect(marker).toBeVisible() - - await setGraphInterval('Months') - await page.getByText('June 2026', { exact: true }).hover() - await expectTooltipAnnotations([ - { note: siteNoteText, attribution: siteNoteAttribution } - ]) - }) -}) diff --git a/e2e/tests/dashboard/behaviours.spec.ts b/e2e/tests/dashboard/behaviours.spec.ts deleted file mode 100644 index 7046baa62ead5de13d736b6dce9c350e58f6c431..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/behaviours.spec.ts +++ /dev/null @@ -1,1029 +0,0 @@ -import { test, expect, Page } from '@playwright/test' -import { - setupSite, - populateStats, - addGoal, - addCustomGoal, - addPageviewGoal, - addScrollDepthGoal, - addAllCustomProps, - addFunnel -} from '../fixtures' -import { - tabButton, - expectHeaders, - expectRows, - rowLink, - expectMetricValues, - dropdown, - expectDropdownClosed, - detailsLink, - modal, - closeModalButton, - searchInput, - tabButtonWithDropdown -} from '../test-utils' - -const getReport = (page: Page) => page.getByTestId('report-behaviours') -const LAST_30MIN_PILL = 'last 30min' - -test('special goals', async ({ page, request }, testInfo) => { - test.slow( - testInfo.project.use.headless === false, - 'This test has many interactions which exceed default timeout when running --headed' - ) - const report = getReport(page) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/page1', - timestamp: { minutesAgo: 60 } - }, - { - user_id: 123, - name: 'Form: Submission', - 'meta.key': ['path'], - 'meta.value': ['/form-action/path'], - timestamp: { minutesAgo: 50 } - }, - { - user_id: 123, - name: '404', - 'meta.key': ['path'], - 'meta.value': ['/wrong-path'], - timestamp: { minutesAgo: 45 } - }, - { - user_id: 123, - name: 'Outbound Link: Click', - 'meta.key': ['url'], - 'meta.value': ['https://example.com/link'], - timestamp: { minutesAgo: 40 } - }, - { - user_id: 123, - name: 'Cloaked Link: Click', - 'meta.key': ['url'], - 'meta.value': ['https://example.com/cloaked-link'], - timestamp: { minutesAgo: 35 } - }, - { - user_id: 123, - name: 'File Download', - 'meta.key': ['url'], - 'meta.value': ['https://example.com/file.zip'], - timestamp: { minutesAgo: 30 } - }, - { - user_id: 123, - name: 'WP Search Queries', - 'meta.key': ['search_query'], - 'meta.value': ['some query'], - timestamp: { minutesAgo: 25 } - }, - { - user_id: 123, - name: 'WP Form Completions', - 'meta.key': ['path'], - 'meta.value': ['/some/path'], - timestamp: { minutesAgo: 20 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/page1', - timestamp: { minutesAgo: 60 } - }, - { - user_id: 124, - name: 'Form: Submission', - 'meta.key': ['path'], - 'meta.value': ['/form-action/another-path'], - timestamp: { minutesAgo: 50 } - }, - { - user_id: 124, - name: '404', - 'meta.key': ['path'], - 'meta.value': ['/another-wrong-path'], - timestamp: { minutesAgo: 45 } - }, - { - user_id: 124, - name: 'Outbound Link: Click', - 'meta.key': ['url'], - 'meta.value': ['https://example.com/another-link'], - timestamp: { minutesAgo: 40 } - }, - { - user_id: 124, - name: 'Cloaked Link: Click', - 'meta.key': ['url'], - 'meta.value': ['https://example.com/another-cloaked-link'], - timestamp: { minutesAgo: 35 } - }, - { - user_id: 124, - name: 'File Download', - 'meta.key': ['url'], - 'meta.value': ['https://example.com/another-file.zip'], - timestamp: { minutesAgo: 30 } - }, - { - user_id: 124, - name: 'WP Search Queries', - 'meta.key': ['search_query'], - 'meta.value': ['another query'], - timestamp: { minutesAgo: 25 } - }, - { - user_id: 124, - name: 'WP Form Completions', - 'meta.key': ['path'], - 'meta.value': ['/another/path'], - timestamp: { minutesAgo: 20 } - } - ] - }) - - await addGoal({ - request, - domain, - params: { event_name: 'Cloaked Link: Click' } - }) - await addGoal({ - request, - domain, - params: { event_name: 'WP Search Queries' } - }) - await addGoal({ - request, - domain, - params: { event_name: 'WP Form Completions' } - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const goalsTabButton = tabButton(report, 'Goals') - - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(goalsTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Goal', 'Uniques', 'Total', 'CR']) - - await expectMetricValues(report, 'Form: Submission', ['2', '2', '100%']) - await expectMetricValues(report, '404', ['2', '2', '100%']) - await expectMetricValues(report, 'Outbound Link: Click', ['2', '2', '100%']) - await expectMetricValues(report, 'Cloaked Link: Click', ['2', '2', '100%']) - await expectMetricValues(report, 'File Download', ['2', '2', '100%']) - await expectMetricValues(report, 'WP Search Queries', ['2', '2', '100%']) - await expectMetricValues(report, 'WP Form Completions', ['2', '2', '100%']) - - await test.step('Form: Submission goal is treated as a special goal', async () => { - await rowLink(report, 'Form: Submission').click() - - await expect(tabButton(report, 'Form actions')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['path', 'Visitors', 'Events', 'CR']) - - await expectMetricValues(report, '/form-action/path', ['1', '1', '50%']) - await expectMetricValues(report, '/form-action/another-path', [ - '1', - '1', - '50%' - ]) - }) - - await test.step('Form: Submission special-goal modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Form Actions' }) - ).toBeVisible() - - await expectHeaders(modal(page), ['path', /Visitors/, /Events/, /CR/]) - - await expectRows(modal(page), [ - '/form-action/another-path', - '/form-action/path' - ]) - - await expectMetricValues(modal(page), '/form-action/path', [ - '1', - '1', - '50%' - ]) - - await closeModalButton(page).click() - }) - - await page - .getByRole('button', { - name: 'Remove filter: Goal is Form: Submission' - }) - .click() - - await goalsTabButton.click() - - await test.step('404 goal is treated as a special goal', async () => { - await rowLink(report, '404').click() - - await expect(tabButton(report, '404 Pages')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['path', 'Visitors', 'Events', 'CR']) - - await expectMetricValues(report, '/wrong-path', ['1', '1', '50%']) - await expectMetricValues(report, '/another-wrong-path', ['1', '1', '50%']) - }) - - await test.step('404 special-goal modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: '404 Pages' }) - ).toBeVisible() - - await expectHeaders(modal(page), ['path', /Visitors/, /Events/, /CR/]) - - await expectRows(modal(page), ['/another-wrong-path', '/wrong-path']) - - await expectMetricValues(modal(page), '/wrong-path', ['1', '1', '50%']) - - await closeModalButton(page).click() - }) - - await page - .getByRole('button', { - name: 'Remove filter: Goal is 404' - }) - .click() - - await goalsTabButton.click() - - await test.step('Outbound Link: Click goal is treated as a special goal', async () => { - await rowLink(report, 'Outbound Link: Click').click() - - await expect(tabButton(report, 'Outbound Links')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['url', 'Visitors', 'Events', 'CR']) - - await expectMetricValues(report, 'https://example.com/link', [ - '1', - '1', - '50%' - ]) - await expectMetricValues(report, 'https://example.com/another-link', [ - '1', - '1', - '50%' - ]) - }) - - await test.step('Outbound Link: Click special-goal modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Outbound Links' }) - ).toBeVisible() - - await expectHeaders(modal(page), ['url', /Visitors/, /Events/, /CR/]) - - await expectRows(modal(page), [ - 'https://example.com/another-link', - 'https://example.com/link' - ]) - - await expectMetricValues(modal(page), 'https://example.com/link', [ - '1', - '1', - '50%' - ]) - - await closeModalButton(page).click() - }) - - await page - .getByRole('button', { - name: 'Remove filter: Goal is Outbound Link: Click' - }) - .click() - - await goalsTabButton.click() - - await test.step('Cloaked Link: Click goal is treated as a special goal', async () => { - await rowLink(report, 'Cloaked Link: Click').click() - - await expect(tabButton(report, 'Cloaked Links')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['url', 'Visitors', 'Events', 'CR']) - - await expectMetricValues(report, 'https://example.com/cloaked-link', [ - '1', - '1', - '50%' - ]) - await expectMetricValues( - report, - 'https://example.com/another-cloaked-link', - ['1', '1', '50%'] - ) - }) - - await test.step('Cloaked Link: Click special-goal modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Cloaked Links' }) - ).toBeVisible() - - await expectHeaders(modal(page), ['url', /Visitors/, /Events/, /CR/]) - - await expectRows(modal(page), [ - 'https://example.com/another-cloaked-link', - 'https://example.com/cloaked-link' - ]) - - await expectMetricValues(modal(page), 'https://example.com/cloaked-link', [ - '1', - '1', - '50%' - ]) - - await closeModalButton(page).click() - }) - - await page - .getByRole('button', { - name: 'Remove filter: Goal is Cloaked Link: Click' - }) - .click() - - await goalsTabButton.click() - - await test.step('File Download goal is treated as a special goal', async () => { - await rowLink(report, 'File Download').click() - - await expect(tabButton(report, 'File Downloads')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['url', 'Visitors', 'Events', 'CR']) - - await expectMetricValues(report, 'https://example.com/file.zip', [ - '1', - '1', - '50%' - ]) - await expectMetricValues(report, 'https://example.com/another-file.zip', [ - '1', - '1', - '50%' - ]) - }) - - await test.step('File Download special-goal modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'File Downloads' }) - ).toBeVisible() - - await expectHeaders(modal(page), ['url', /Visitors/, /Events/, /CR/]) - - await expectRows(modal(page), [ - 'https://example.com/another-file.zip', - 'https://example.com/file.zip' - ]) - - await expectMetricValues(modal(page), 'https://example.com/file.zip', [ - '1', - '1', - '50%' - ]) - - await closeModalButton(page).click() - }) - - await page - .getByRole('button', { - name: 'Remove filter: Goal is File Download' - }) - .click() - - await goalsTabButton.click() - - await test.step('WP Search Queries goal is treated as a special goal', async () => { - await rowLink(report, 'WP Search Queries').click() - - await expect(tabButton(report, 'WordPress Search Queries')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['search_query', 'Visitors', 'Events', 'CR']) - - await expectMetricValues(report, 'some query', ['1', '1', '50%']) - await expectMetricValues(report, 'another query', ['1', '1', '50%']) - }) - - await test.step('WP Search Queries special-goal modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'WordPress Search Queries' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'search_query', - /Visitors/, - /Events/, - /CR/ - ]) - - await expectRows(modal(page), ['another query', 'some query']) - - await expectMetricValues(modal(page), 'some query', ['1', '1', '50%']) - - await closeModalButton(page).click() - }) - - await page - .getByRole('button', { - name: 'Remove filter: Goal is WP Search Queries' - }) - .click() - - await goalsTabButton.click() - - await test.step('WP Form Completions goal is treated as a special goal', async () => { - await rowLink(report, 'WP Form Completions').click() - - await expect( - tabButton(report, 'WordPress Form Completions') - ).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['path', 'Visitors', 'Events', 'CR']) - - await expectMetricValues(report, '/some/path', ['1', '1', '50%']) - await expectMetricValues(report, '/another/path', ['1', '1', '50%']) - }) - - await test.step('WP Form Completions special-goal modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'WordPress Form Completions' }) - ).toBeVisible() - - await expectHeaders(modal(page), ['path', /Visitors/, /Events/, /CR/]) - - await expectRows(modal(page), ['/another/path', '/some/path']) - - await expectMetricValues(modal(page), '/some/path', ['1', '1', '50%']) - - await closeModalButton(page).click() - }) -}) - -test('goals breakdown', async ({ page, request }) => { - const report = getReport(page) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/page1', - timestamp: { minutesAgo: 60 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/page1', - timestamp: { minutesAgo: 60 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/page1', - timestamp: { minutesAgo: 60 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/page1', - timestamp: { minutesAgo: 60 } - }, - { - user_id: 123, - name: 'engagement', - pathname: '/page1', - scroll_depth: 80, - timestamp: { minutesAgo: 59 } - }, - { - user_id: 124, - name: 'engagement', - pathname: '/page1', - scroll_depth: 80, - timestamp: { minutesAgo: 59 } - }, - { - user_id: 125, - name: 'engagement', - pathname: '/page1', - scroll_depth: 80, - timestamp: { minutesAgo: 59 } - }, - { - user_id: 123, - name: 'purchase', - pathname: '/buy', - revenue_reporting_amount: '23', - revenue_reporting_currency: 'EUR', - timestamp: { minutesAgo: 59 } - }, - { user_id: 124, name: 'add_site', timestamp: { minutesAgo: 15 } }, - { user_id: 125, name: 'add_site', timestamp: { minutesAgo: 2 } } - ] - }) - - await addCustomGoal({ - page, - domain, - name: 'add_site', - displayName: 'Add a site' - }) - await addCustomGoal({ page, domain, name: 'purchase', currency: 'EUR' }) - await addPageviewGoal({ page, domain, pathname: '/page1' }) - await addScrollDepthGoal({ - page, - domain, - pathname: '/page1', - scrollPercentage: 75 - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const goalsTabButton = tabButton(report, 'Goals') - - await test.step('listing all goals', async () => { - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(goalsTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, [ - 'Goal', - 'Uniques', - 'Total', - 'CR', - 'Revenue', - 'Average' - ]) - - await expectRows(report, [ - 'Visit /page1', - 'Scroll 75% on /page1', - 'Add a site', - 'purchase' - ]) - await expectMetricValues(report, 'Visit /page1', [ - '4', - '4', - '100%', - '-', - '-' - ]) - await expectMetricValues(report, 'Scroll 75% on /page1', [ - '3', - '-', - '75%', - '-', - '-' - ]) - await expectMetricValues(report, 'Add a site', ['2', '2', '50%', '-', '-']) - await expectMetricValues(report, 'purchase', [ - '1', - '1', - '25%', - '€23.0', - '€23.0' - ]) - }) - - await test.step('goals modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Goal conversions' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Goal', - /Uniques/, - /Total/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), [ - 'Visit /page1', - 'Scroll 75% on /page1', - 'Add a site', - 'purchase' - ]) - - await expectMetricValues(modal(page), 'Visit /page1', [ - '4', - '4', - '100%', - '-', - '-' - ]) - - await closeModalButton(page).click() - }) - - await test.step('listing goals without revenue', async () => { - await page.goto('/' + domain + '?f=has_not_done,goal,purchase', { - waitUntil: 'commit' - }) - - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(goalsTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Goal', 'Uniques', 'Total', 'CR']) - - await expectRows(report, [ - 'Visit /page1', - 'Add a site', - 'Scroll 75% on /page1' - ]) - - await expectMetricValues(report, 'Visit /page1', ['3', '3', '100%']) - await expectMetricValues(report, 'Add a site', ['2', '2', '66.7%']) - await expectMetricValues(report, 'Scroll 75% on /page1', [ - '2', - '-', - '66.7%' - ]) - }) - - await test.step('goals modal without revenue', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Goal conversions' }) - ).toBeVisible() - - await expectHeaders(modal(page), ['Goal', /Uniques/, /Total/, /CR/]) - - await expectRows(modal(page), [ - 'Visit /page1', - 'Add a site', - 'Scroll 75% on /page1' - ]) - - await expectMetricValues(modal(page), 'Visit /page1', ['3', '3', '100%']) - - await closeModalButton(page).click() - }) - - await test.step('realtime goal index breakdown displays stats from last 30min', async () => { - await page.goto('/' + domain + '?period=realtime', { waitUntil: 'commit' }) - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(goalsTabButton).toHaveAttribute('data-active', 'true') - await expect(report.getByText(LAST_30MIN_PILL)).toBeVisible() - - await expectHeaders(report, ['Goal', 'Uniques', 'Total', 'CR']) - - await expectRows(report, ['Add a site']) - await expectMetricValues(report, 'Add a site', ['2', '2', '100%']) - }) - - await test.step('realtime goals modal displays stats from last 30min', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Goal conversions' }) - ).toBeVisible() - - await expectRows(modal(page), ['Add a site']) - await expectMetricValues(modal(page), 'Add a site', ['2', '2', '100%']) - - await closeModalButton(page).click() - }) -}) - -test('props breakdown', async ({ page, request }) => { - const report = getReport(page) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - name: 'pageview', - pathname: '/page', - timestamp: { minutesAgo: 15 }, - 'meta.key': [ - 'logged_in', - 'browser_language', - 'prop3', - 'prop4', - 'prop5', - 'prop6', - 'prop7', - 'prop8', - 'prop9', - 'prop10', - 'prop11' - ], - 'meta.value': [ - 'false', - 'en_US', - 'val3', - 'val4', - 'val5', - 'val6', - 'val7', - 'val8', - 'val9', - 'val10', - 'val11' - ] - }, - { - name: 'pageview', - pathname: '/page', - timestamp: { minutesAgo: 1 }, - 'meta.key': ['logged_in', 'browser_language'], - 'meta.value': ['false', 'en_US'] - }, - { - name: 'pageview', - pathname: '/page', - timestamp: { minutesAgo: 2 }, - 'meta.key': ['logged_in', 'browser_language'], - 'meta.value': ['true', 'es'] - } - ] - }) - - await addPageviewGoal({ page, domain, pathname: '/page' }) - - await addAllCustomProps({ page, domain }) - - await page.goto(`/${domain}?period=all`, { waitUntil: 'commit' }) - - const propsTabButton = tabButtonWithDropdown(report, 'Properties') - - await test.step('listing props', async () => { - await propsTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await dropdown(report) - .getByRole('button', { name: 'browser_language' }) - .click() - - await expect(tabButton(propsTabButton, 'Properties')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['browser_language', 'Visitors', 'Events', '%']) - - await expectRows(report, ['en_US', 'es']) - - await expectMetricValues(report, 'en_US', ['2', '2', '66.7%']) - await expectMetricValues(report, 'es', ['1', '1', '33.3%']) - }) - - await test.step('loading more', async () => { - await expectDropdownClosed(report) - await propsTabButton.click() - const showMoreButton = dropdown(report).getByRole('button', { - name: 'Show 1 more' - }) - await showMoreButton.click() - await expect(showMoreButton).toBeHidden() - await expect(dropdown(report).getByRole('button')).toHaveCount(11) - }) - - await test.step('searching', async () => { - await searchInput(report).fill('prop1') - await expect(dropdown(report).getByRole('button')).toHaveCount(2) - }) - - await test.step('props modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Custom property breakdown' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'browser_language', - /Visitors/, - /Events/, - /%/ - ]) - - await expectRows(modal(page), ['en_US', 'es']) - - await expectMetricValues(modal(page), 'en_US', ['2', '2', '66.7%']) - - await closeModalButton(page).click() - }) - - await test.step('clicking goal opens props', async () => { - const goalsTabButton = tabButton(report, 'Goals') - goalsTabButton.click() - - await expect(goalsTabButton).toHaveAttribute('data-active', 'true') - - await rowLink(report, 'Visit /page').click() - - await expect(tabButton(propsTabButton, 'Properties')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, [ - 'browser_language', - 'Visitors', - 'Events', - 'CR' - ]) - - await expectRows(report, ['en_US', 'es']) - - await expectMetricValues(report, 'en_US', ['2', '2', '66.7%']) - await expectMetricValues(report, 'es', ['1', '1', '33.3%']) - }) - - await page.goto('/' + domain + '?period=realtime', { waitUntil: 'commit' }) - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await test.step('realtime props index breakdown displays stats from last 5min', async () => { - await propsTabButton.click() - await dropdown(report) - .getByRole('button', { name: 'browser_language' }) - .click() - - await expect(report.getByText(LAST_30MIN_PILL)).toBeHidden() - - await expectHeaders(report, ['browser_language', 'Visitors', 'Events', '%']) - - await expectRows(report, ['en_US', 'es']) - await expectMetricValues(report, 'en_US', ['1', '1', '50%']) - }) - - await test.step('realtime props details modal displays stats from last 5min', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Custom property breakdown' }) - ).toBeVisible() - - await expectRows(modal(page), ['en_US', 'es']) - await expectMetricValues(modal(page), 'en_US', ['1', '1', '50%']) - - await closeModalButton(page).click() - }) -}) - -test('funnels', async ({ page, request }) => { - const report = getReport(page) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/products', - timestamp: { minutesAgo: 60 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/cart', - timestamp: { minutesAgo: 55 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/checkout', - timestamp: { minutesAgo: 50 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/products', - timestamp: { minutesAgo: 55 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/cart', - timestamp: { minutesAgo: 50 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/products', - timestamp: { minutesAgo: 50 } - } - ] - }) - - await addPageviewGoal({ page, domain, pathname: '/products' }) - await addPageviewGoal({ page, domain, pathname: '/cart' }) - await addPageviewGoal({ page, domain, pathname: '/checkout' }) - - for (let idx = 0; idx < 11; idx++) { - await addFunnel({ - request, - domain, - name: `Shopping ${idx + 1} Funnel`, - steps: ['Visit /products', 'Visit /cart', 'Visit /checkout'] - }) - } - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const funnelsTabButton = tabButtonWithDropdown(report, 'Funnels') - - await test.step('rendering funnels', async () => { - await funnelsTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await dropdown(report) - .getByRole('button', { name: 'Shopping 11 Funnel' }) - .click() - - await expect(tabButton(funnelsTabButton, 'Funnels')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expect(report.getByRole('heading')).toHaveText('Shopping 11 Funnel') - - await expect(report.getByText('3-step funnel')).toBeVisible() - - await expect(report.getByText('33.33% conversion rate')).toBeVisible() - }) - - await test.step('loading more', async () => { - await expectDropdownClosed(report) - await funnelsTabButton.click() - const showMoreButton = dropdown(report).getByRole('button', { - name: 'Show 1 more' - }) - await showMoreButton.click() - await expect(showMoreButton).toBeHidden() - await expect(dropdown(report).getByRole('button')).toHaveCount(11) - await dropdown(report) - .getByRole('button', { name: 'Shopping 1 Funnel' }) - .click() - - await expect(report.getByRole('heading')).toHaveText('Shopping 1 Funnel') - }) - - await test.step('searching', async () => { - await expectDropdownClosed(report) - await funnelsTabButton.click() - await searchInput(report).fill('Shopping 1') - - await expect(dropdown(report).getByRole('button')).toHaveText([ - 'Shopping 11 Funnel', - 'Shopping 10 Funnel', - 'Shopping 1 Funnel' - ]) - }) -}) diff --git a/e2e/tests/dashboard/breakdowns.spec.ts b/e2e/tests/dashboard/breakdowns.spec.ts deleted file mode 100644 index eeb7b3413077631217ac5ccc6dccf74ccd68d065..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/breakdowns.spec.ts +++ /dev/null @@ -1,1950 +0,0 @@ -import { test, expect } from '@playwright/test' -import { setupSite, populateStats, addCustomGoal } from '../fixtures' -import { - tabButton, - expectHeaders, - expectRows, - rowLink, - expectMetricValues, - dropdown, - modal, - detailsLink, - closeModalButton, - header, - searchInput -} from '../test-utils' - -test('sources breakdown', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - name: 'pageview', - referrer_source: 'DuckDuckGo', - - referrer: 'https://duckduckgo.com/a1', - utm_medium: 'paid' - }, - { - name: 'pageview', - referrer_source: 'DuckDuckGo', - referrer: 'https://duckduckgo.com/a2', - click_id_param: 'gclid' - }, - { name: 'pageview', referrer_source: 'Facebook', utm_source: 'fb' }, - { name: 'pageview', referrer_source: 'theguardian.com' }, - { name: 'pageview', referrer_source: 'ablog.example.com' }, - { - name: 'pageview', - referrer_source: 'Google', - utm_medium: 'SomeUTMMedium', - utm_source: 'SomeUTMSource', - utm_campaign: 'SomeUTMCampaign', - utm_content: 'SomeUTMContent', - utm_term: 'SomeUTMTerm' - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const report = page.getByTestId('report-sources') - - await test.step('sources tab', async () => { - const sourcesTabButton = tabButton(report, 'Sources') - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(sourcesTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Source', 'Visitors']) - - await expectRows(report, [ - 'DuckDuckGo', - 'Facebook', - 'Google', - 'ablog.example.com', - 'theguardian.com' - ]) - - await expectMetricValues(report, 'DuckDuckGo', ['2', '33.3%']) - await expectMetricValues(report, 'Facebook', ['1', '16.7%']) - await expectMetricValues(report, 'Google', ['1', '16.7%']) - await expectMetricValues(report, 'ablog.example.com', ['1', '16.7%']) - await expectMetricValues(report, 'theguardian.com', ['1', '16.7%']) - }) - - await test.step('sources modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Sources' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Source', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), [ - 'DuckDuckGo', - 'Facebook', - 'Google', - 'ablog.example.com', - 'theguardian.com' - ]) - - await expectMetricValues(modal(page), 'DuckDuckGo', ['2', '100%', '0s']) - - await closeModalButton(page).click() - }) - - await test.step('clicking sources entry shows referrers', async () => { - await rowLink(report, 'DuckDuckGo').click() - await expect(page).toHaveURL(/f=is,source,DuckDuckGo/) - - await expect(tabButton(report, 'Top referrers')).toHaveAttribute( - 'data-active', - 'true' - ) - - // Move mouse away from report rows - await tabButton(report, 'Top referrers').hover() - - await expectHeaders(report, ['Referrer', 'Visitors']) - - await expectRows(report, [ - 'https://duckduckgo.com/a1', - 'https://duckduckgo.com/a2' - ]) - }) - - await test.step('referrers modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Referrer drilldown' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Referrer', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), [ - 'https://duckduckgo.com/a1', - 'https://duckduckgo.com/a2' - ]) - - await closeModalButton(page).click() - - await page - .getByRole('button', { name: 'Remove filter: Source is DuckDuckGo' }) - .click() - }) - - // Tests against values from Plausible.Google.API.Mock - await test.step('clicking Google source entry opens search terms', async () => { - await rowLink(report, 'Google').click() - await expect(page).toHaveURL(/f=is,source,Google/) - - await expect(tabButton(report, 'Search terms')).toHaveAttribute( - 'data-active', - 'true' - ) - - // Move mouse away from report rows - await tabButton(report, 'Search terms').hover() - - await expectHeaders(report, ['Search term', 'Visitors']) - - await expectMetricValues(report, 'simple web analytics', ['25']) - await expectMetricValues(report, 'open-source analytics', ['15']) - }) - - await test.step('search-terms modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Google search terms' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Search term', - 'Visitors', - 'Impressions', - 'CTR', - 'Position' - ]) - - await closeModalButton(page).click() - }) - - await page - .getByRole('button', { name: 'Remove filter: Source is Google' }) - .click() - - await test.step('channels tab', async () => { - const channelsTabButton = tabButton(report, 'Channels') - await channelsTabButton.click() - await expect(channelsTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Channel', 'Visitors']) - - await expectRows(report, [ - 'Organic Search', - 'Referral', - 'Organic Social', - 'Paid Search' - ]) - - await expectMetricValues(report, 'Organic Search', ['2', '33.3%']) - await expectMetricValues(report, 'Referral', ['2', '33.3%']) - await expectMetricValues(report, 'Organic Social', ['1', '16.7%']) - await expectMetricValues(report, 'Paid Search', ['1', '16.7%']) - }) - - await test.step('channels modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Acquisition channels' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Channel', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), [ - 'Organic Search', - 'Referral', - 'Organic Social', - 'Paid Search' - ]) - - await expectMetricValues(modal(page), 'Referral', ['2', '100%', '0s']) - - await closeModalButton(page).click() - }) - - await test.step('campaigns > UTM mediums tab', async () => { - await tabButton(report, 'Campaigns').click() - await dropdown(report).getByRole('button', { name: 'UTM mediums' }).click() - - await expect(tabButton(report, 'UTM mediums')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['UTM medium', 'Visitors']) - - await expectRows(report, ['SomeUTMMedium', 'paid']) - - await expectMetricValues(report, 'SomeUTMMedium', ['1', '50%']) - await expectMetricValues(report, 'paid', ['1', '50%']) - }) - - await test.step('UTM mediums modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'UTM mediums' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'UTM medium', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['SomeUTMMedium', 'paid']) - - await expectMetricValues(modal(page), 'SomeUTMMedium', ['1', '100%', '0s']) - - await closeModalButton(page).click() - }) - - await test.step('campaigns > UTM sources tab', async () => { - await tabButton(report, 'UTM mediums').click() - await dropdown(report).getByRole('button', { name: 'UTM sources' }).click() - - await expect(tabButton(report, 'UTM sources')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['UTM source', 'Visitors']) - - await expectRows(report, ['SomeUTMSource', 'fb']) - - await expectMetricValues(report, 'SomeUTMSource', ['1', '50%']) - await expectMetricValues(report, 'fb', ['1', '50%']) - }) - - await test.step('UTM sources modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'UTM sources' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'UTM source', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['SomeUTMSource', 'fb']) - - await expectMetricValues(modal(page), 'SomeUTMSource', ['1', '100%', '0s']) - - await closeModalButton(page).click() - }) - - await test.step('campaigns > UTM campaigns tab', async () => { - await tabButton(report, 'UTM sources').click() - await dropdown(report) - .getByRole('button', { name: 'UTM campaigns' }) - .click() - - await expect(tabButton(report, 'UTM campaigns')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['UTM campaign', 'Visitors']) - - await expectRows(report, ['SomeUTMCampaign']) - - await expectMetricValues(report, 'SomeUTMCampaign', ['1', '100%']) - }) - - await test.step('UTM campaigns modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'UTM campaigns' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'UTM campaign', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['SomeUTMCampaign']) - - await expectMetricValues(modal(page), 'SomeUTMCampaign', [ - '1', - '100%', - '0s' - ]) - - await closeModalButton(page).click() - }) - - await test.step('campaigns > UTM contents tab', async () => { - await tabButton(report, 'UTM campaigns').click() - await dropdown(report).getByRole('button', { name: 'UTM contents' }).click() - - await expect(tabButton(report, 'UTM contents')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['UTM content', 'Visitors']) - - await expectRows(report, ['SomeUTMContent']) - - await expectMetricValues(report, 'SomeUTMContent', ['1', '100%']) - }) - - await test.step('UTM contents modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'UTM contents' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'UTM content', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['SomeUTMContent']) - - await expectMetricValues(modal(page), 'SomeUTMContent', ['1', '100%', '0s']) - - await closeModalButton(page).click() - }) - - await test.step('campaigns > UTM terms tab', async () => { - await tabButton(report, 'UTM contents').click() - await dropdown(report).getByRole('button', { name: 'UTM terms' }).click() - - await expect(tabButton(report, 'UTM terms')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['UTM term', 'Visitors']) - - await expectRows(report, ['SomeUTMTerm']) - - await expectMetricValues(report, 'SomeUTMTerm', ['1', '100%']) - }) - - await test.step('UTM terms modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'UTM terms' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'UTM term', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['SomeUTMTerm']) - - await expectMetricValues(modal(page), 'SomeUTMTerm', ['1', '100%', '0s']) - - await closeModalButton(page).click() - }) -}) - -// Tests against values from Plausible.Google.API.Mock -test('sources breakdown - search terms failure modes', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', referrer_source: 'Google', pathname: '/empty' }, - { - name: 'pageview', - referrer_source: 'Google', - pathname: '/unsupported-filters' - }, - { - name: 'pageview', - referrer_source: 'Google', - pathname: '/not-configured' - } - ] - }) - - const report = page.getByTestId('report-sources') - const searchTermsTabButton = tabButton(report, 'Search terms') - - await test.step('empty', async () => { - await page.goto('/' + domain + '?f=is,source,Google&f=is,page,%2Fempty', { - waitUntil: 'commit' - }) - - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(searchTermsTabButton).toHaveAttribute('data-active', 'true') - - await expect(report.getByText('No data yet')).toBeVisible() - }) - - await test.step('unsupported filters', async () => { - await page.goto( - '/' + domain + '?f=is,source,Google&f=is,page,%2Funsupported-filters', - { - waitUntil: 'commit' - } - ) - - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(searchTermsTabButton).toHaveAttribute('data-active', 'true') - - await expect( - report.getByText('Unable to fetch keyword data from Search Console') - ).toBeVisible() - - await expect( - report.getByText('does not support the current set of filters') - ).toBeVisible() - }) - - await test.step('not configured', async () => { - await page.goto( - '/' + domain + '?f=is,source,Google&f=is,page,%2Fnot-configured', - { - waitUntil: 'commit' - } - ) - - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(searchTermsTabButton).toHaveAttribute('data-active', 'true') - - await expect( - report.getByText('The site is not connected to Google Search Keywords') - ).toBeVisible() - }) -}) - -test('pages breakdown', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { user_id: 123, name: 'pageview', pathname: '/page1' }, - { user_id: 123, name: 'pageview', pathname: '/page2' }, - { user_id: 123, name: 'pageview', pathname: '/page3' }, - { user_id: 124, name: 'pageview', pathname: '/page1' }, - { user_id: 124, name: 'pageview', pathname: '/page2' }, - { name: 'pageview', pathname: '/page1' }, - { name: 'pageview', pathname: '/other' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const report = page.getByTestId('report-pages') - - await test.step('top pages tab', async () => { - const pagesTabButton = tabButton(report, 'Top pages') - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(pagesTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Page', 'Visitors']) - - await expectRows(report, ['/page1', '/page2', '/other', '/page3']) - - await expectMetricValues(report, '/page1', ['3', '75%']) - await expectMetricValues(report, '/page2', ['2', '50%']) - await expectMetricValues(report, '/other', ['1', '25%']) - await expectMetricValues(report, '/page3', ['1', '25%']) - }) - - await test.step('entry pages tab', async () => { - const entryPagesTabButton = tabButton(report, 'Entry pages') - entryPagesTabButton.click() - await expect(entryPagesTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Entry page', 'Unique entrances']) - - await expectRows(report, ['/page1', '/other']) - - await expectMetricValues(report, '/page1', ['3', '75%']) - await expectMetricValues(report, '/other', ['1', '25%']) - }) - - await test.step('Entry pages modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Entry pages' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Entry page', - /Unique entrances/, - /Total entrances/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['/page1', '/other']) - - await expectMetricValues(modal(page), '/page1', ['3', '3', '33%', '0s']) - - await closeModalButton(page).click() - }) - - await test.step('exit pages tab', async () => { - const exitPagesTabButton = tabButton(report, 'Exit pages') - exitPagesTabButton.click() - await expect(exitPagesTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Exit page', 'Unique exits']) - - await expectRows(report, ['/other', '/page1', '/page2', '/page3']) - - await expectMetricValues(report, '/other', ['1', '25%']) - await expectMetricValues(report, '/page1', ['1', '25%']) - await expectMetricValues(report, '/page2', ['1', '25%']) - await expectMetricValues(report, '/page3', ['1', '25%']) - }) - - await test.step('Exit pages modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Exit pages' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Exit page', - /Unique exits/, - /Total exits/, - /Exit rate/ - ]) - - await expectRows(modal(page), ['/other', '/page1', '/page2', '/page3']) - - await expectMetricValues(modal(page), '/other', ['1', '1', '100%']) - - await closeModalButton(page).click() - }) - - await test.step('exit pages modal with an event filter applied', async () => { - await page.goto('/' + domain + '?f=is,page,/page1', { waitUntil: 'commit' }) - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Exit pages' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Exit page', - /Unique exits/, - /Total exits/ - ]) - - await expectRows(modal(page), ['/page1', '/page2', '/page3']) - - await expectMetricValues(modal(page), '/page1', ['1', '1']) - await expectMetricValues(modal(page), '/page2', ['1', '1']) - await expectMetricValues(modal(page), '/page3', ['1', '1']) - - await closeModalButton(page).click() - }) -}) - -test('pages breakdown modal', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - const pagesCount = 110 - - // We generate unique page entries, each with a different number of visits - const pageEvents = Array(pagesCount) - .fill(null) - .map((_, idx) => { - return Array(idx + 1) - .fill(null) - .map(() => { - return { name: 'pageview', pathname: `/page${idx + 1}/foo` } - }) - }) - .flat() - - await populateStats({ - request, - domain, - events: pageEvents - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const report = page.getByTestId('report-pages') - - const pagesTabButton = tabButton(report, 'Top pages') - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(pagesTabButton).toHaveAttribute('data-active', 'true') - - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Top pages' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Page', - /Visitors/, - /Pageviews/, - /Bounce rate/, - /Time on page/, - /Scroll depth/ - ]) - - await test.step('displays 100 entries on a single page', async () => { - const pageRows = Array(100) - .fill(null) - .map((_, idx) => { - return `/page${pagesCount - idx}/foo` - }) - - await expectRows(modal(page), pageRows) - - await expectMetricValues(modal(page), '/page110/foo', [ - '110', - '110', - '100%', - '-', - '-' - ]) - - await expectMetricValues(modal(page), '/page11/foo', [ - '11', - '11', - '100%', - '-', - '-' - ]) - }) - - await test.step('loads more when requested', async () => { - const loadMoreButton = modal(page).getByRole('button', { - name: 'Load more' - }) - - await loadMoreButton.scrollIntoViewIfNeeded() - await loadMoreButton.click() - - await expectMetricValues(modal(page), '/page10/foo', [ - '10', - '10', - '100%', - '-', - '-' - ]) - - await expectMetricValues(modal(page), '/page1/foo', [ - '1', - '1', - '100%', - '-', - '-' - ]) - }) - - await test.step('sorts when clicking on column header', async () => { - await header(modal(page), 'Visitors').click() - - const pageRows = Array(100) - .fill(null) - .map((_, idx) => { - return `/page${idx + 1}/foo` - }) - - await expectRows(modal(page), pageRows) - }) - - await test.step('filters when using search', async () => { - await searchInput(modal(page)).fill('page9') - - await expectRows(modal(page), [ - '/page9/foo', - '/page90/foo', - '/page91/foo', - '/page92/foo', - '/page93/foo', - '/page94/foo', - '/page95/foo', - '/page96/foo', - '/page97/foo', - '/page98/foo', - '/page99/foo' - ]) - }) - - await test.step('close button closes the modal', async () => { - await closeModalButton(page).click() - - await expect(modal(page)).toBeHidden() - }) - - await test.step('reopening the modal resets the search state but preserves', async () => { - await detailsLink(report).click() - - await expect(modal(page)).toContainClass('is-open') - - await expect(searchInput(modal(page))).toHaveValue('') - - const pageRows = Array(100) - .fill(null) - .map((_, idx) => { - return `/page${idx + 1}/foo` - }) - - await expectRows(modal(page), pageRows) - }) -}) - -test('pages breakdown with a pageview goal filter applied', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { user_id: 123, name: 'pageview', pathname: '/page1' }, - { user_id: 123, name: 'pageview', pathname: '/page2' }, - { user_id: 123, name: 'pageview', pathname: '/page3' }, - { - user_id: 123, - name: 'purchase', - revenue_reporting_amount: '23', - revenue_reporting_currency: 'EUR' - }, - { user_id: 124, name: 'pageview', pathname: '/page1' }, - { user_id: 124, name: 'pageview', pathname: '/page2' }, - { user_id: 124, name: 'create_site' }, - { name: 'pageview', pathname: '/page1' }, - { name: 'pageview', pathname: '/other' } - ] - }) - - await addCustomGoal({ page, domain, name: 'create_site' }) - await addCustomGoal({ page, domain, name: 'purchase', currency: 'EUR' }) - - const report = page.getByTestId('report-pages') - - await test.step('custom goal filter applied', async () => { - await page.goto('/' + domain + '?f=is,goal,create_site', { - waitUntil: 'commit' - }) - - const pagesTabButton = tabButton(report, 'Conversion pages') - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(pagesTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Page', 'Conversions', 'CR']) - - await expectRows(report, ['/']) - - await expectMetricValues(report, '/', ['1', '50%']) - }) - - await test.step('details modal after custom goal filter applied', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Conversion pages' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Page', - /Total visitors/, - /Conversions/, - /CR/ - ]) - - await expectRows(modal(page), ['/']) - - await expectMetricValues(modal(page), '/', ['2', '1', '50%']) - - await closeModalButton(page).click() - }) - - await test.step('revenue goal filter applied', async () => { - await page.goto('/' + domain + '?f=is,goal,purchase', { - waitUntil: 'commit' - }) - - const pagesTabButton = tabButton(report, 'Conversion pages') - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(pagesTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Page', 'Conversions', 'CR']) - - await expectRows(report, ['/']) - - await expectMetricValues(report, '/', ['1', '50%']) - }) - - await test.step('details modal after revenue goal filter applied', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Conversion pages' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Page', - /Total visitors/, - /Conversions/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), ['/']) - - await expectMetricValues(modal(page), '/', [ - '2', - '1', - '50%', - '€23.0', - '€23.0' - ]) - - await closeModalButton(page).click() - }) -}) - -test('pages breakdown - URL mode', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 1, - name: 'pageview', - hostname: 'blog.example.com', - pathname: '/post' - }, - { - user_id: 1, - name: 'pageview', - hostname: 'blog.example.com', - pathname: '/post' - }, - { - user_id: 2, - name: 'pageview', - hostname: 'blog.example.com', - pathname: '/post' - }, - { - user_id: 3, - name: 'pageview', - hostname: 'docs.example.com', - pathname: '/api' - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - const report = page.getByTestId('report-pages') - - await test.step('switch to URL mode', async () => { - await report.getByRole('button', { name: 'Breakdown options' }).click() - await page.getByRole('button', { name: 'URL' }).click() - }) - - await test.step('top pages in URL mode', async () => { - await expect(tabButton(report, 'Top pages')).toHaveAttribute( - 'data-active', - 'true' - ) - - await expectHeaders(report, ['URL', 'Visitors']) - await expectRows(report, ['blog.example.com/post', 'docs.example.com/api']) - await expectMetricValues(report, 'blog.example.com/post', ['2', '66.7%']) - await expectMetricValues(report, 'docs.example.com/api', ['1', '33.3%']) - }) - - await test.step('clicking a URL mode row applies hostname and page filters', async () => { - await rowLink(report, 'blog.example.com/post').click() - - await expect( - page.getByRole('button', { - name: 'Remove filter: Hostname is blog.example.com' - }) - ).toBeVisible() - await expect( - page.getByRole('button', { name: 'Remove filter: Page is /post' }) - ).toBeVisible() - - await page - .getByRole('button', { - name: 'Remove filter: Hostname is blog.example.com' - }) - .click() - await page - .getByRole('button', { name: 'Remove filter: Page is /post' }) - .click() - }) - - await test.step('entry pages in URL mode', async () => { - await tabButton(report, 'Entry pages').click() - - await expectHeaders(report, ['URL', 'Unique entrances']) - await expectRows(report, ['blog.example.com/post', 'docs.example.com/api']) - await expectMetricValues(report, 'blog.example.com/post', ['2', '66.7%']) - await expectMetricValues(report, 'docs.example.com/api', ['1', '33.3%']) - }) - - await test.step('entry pages modal in URL mode', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Entry pages' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'URL', - /Unique entrances/, - /Total entrances/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), [ - 'blog.example.com/post', - 'docs.example.com/api' - ]) - - await closeModalButton(page).click() - }) - - await test.step('exit pages in URL mode', async () => { - await tabButton(report, 'Exit pages').click() - - await expectHeaders(report, ['URL', 'Unique exits']) - await expectRows(report, ['blog.example.com/post', 'docs.example.com/api']) - }) - - await test.step('exit pages modal in URL mode', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Exit pages' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'URL', - /Unique exits/, - /Total exits/, - /Exit rate/ - ]) - - await expectRows(modal(page), [ - 'blog.example.com/post', - 'docs.example.com/api' - ]) - - await closeModalButton(page).click() - }) -}) - -test('locations breakdown', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - name: 'pageview', - country_code: 'EE', - subdivision1_code: 'EE-37', - city_geoname_id: 588_409 - }, - { - name: 'pageview', - country_code: 'EE', - subdivision1_code: 'EE-79', - city_geoname_id: 588_335 - }, - { - name: 'pageview', - country_code: 'PL', - subdivision1_code: 'PL-14', - city_geoname_id: 756_135 - }, - { - name: 'pageview', - country_code: '' - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const report = page.getByTestId('report-locations') - - await test.step('map tab', async () => { - const mapTabButton = tabButton(report, 'Map') - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(mapTabButton).toHaveAttribute('data-active', 'true') - - // NOTE: We only check that the map is there - await expect(report.locator('svg path.country').first()).toBeVisible() - }) - - await test.step('countries tab', async () => { - const countriesTabButton = tabButton(report, 'Countries') - await countriesTabButton.click() - await expect(countriesTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Country', 'Visitors']) - - await expectRows(report, [/Estonia/, /Poland/]) - - await expectMetricValues(report, 'Estonia', ['2', '66.7%']) - await expectMetricValues(report, 'Poland', ['1', '33.3%']) - }) - - await test.step('countries modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Countries' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Country', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), [/Estonia/, /Poland/]) - - await expectMetricValues(modal(page), 'Estonia', ['2', '100%', '0s']) - - await expect(searchInput(modal(page))).toBeVisible() - - await searchInput(modal(page)).fill('Esto') - await expectRows(modal(page), [/Estonia/]) - - await searchInput(modal(page)).fill('') - await expectRows(modal(page), [/Estonia/, /Poland/]) - - await closeModalButton(page).click() - }) - - const regionsTabButton = tabButton(report, 'Regions') - - await test.step('clicking country entry shows regions', async () => { - await rowLink(report, 'Estonia').click() - await expect(page).toHaveURL(/f=is,country,EE/) - - await expect(regionsTabButton).toHaveAttribute('data-active', 'true') - - await page - .getByRole('button', { name: 'Remove filter: Country is Estonia' }) - .click() - }) - - await test.step('regions tab', async () => { - await regionsTabButton.click() - await expect(regionsTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Region', 'Visitors']) - - await expectRows(report, [/Harjumaa/, /Mazovia/, /Tartumaa/]) - - await expectMetricValues(report, 'Harjumaa', ['1', '33.3%']) - await expectMetricValues(report, 'Tartumaa', ['1', '33.3%']) - await expectMetricValues(report, 'Mazovia', ['1', '33.3%']) - }) - - await test.step('regions modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Regions' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Region', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), [/Harjumaa/, /Mazovia/, /Tartumaa/]) - - await expectMetricValues(modal(page), 'Harjumaa', ['1', '100%', '0s']) - - await expect(searchInput(modal(page))).toBeVisible() - - await searchInput(modal(page)).fill('Harju') - await expectRows(modal(page), [/Harjumaa/]) - - await searchInput(modal(page)).fill('') - await expectRows(modal(page), [/Harjumaa/, /Mazovia/, /Tartumaa/]) - - await closeModalButton(page).click() - }) - - const citiesTabButton = tabButton(report, 'Cities') - - await test.step('clicking region entry shows cities', async () => { - await rowLink(report, 'Harjumaa').click() - await expect(page).toHaveURL(/f=is,region,EE-37/) - - await expect(citiesTabButton).toHaveAttribute('data-active', 'true') - - await page - .getByRole('button', { name: 'Remove filter: Region is Harjumaa' }) - .click() - }) - - await test.step('cities tab', async () => { - await citiesTabButton.click() - await expect(citiesTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['City', 'Visitors']) - - await expectRows(report, [/Tallinn/, /Tartu/, /Warsaw/]) - - await expectMetricValues(report, 'Tartu', ['1', '33.3%']) - await expectMetricValues(report, 'Tallinn', ['1', '33.3%']) - await expectMetricValues(report, 'Warsaw', ['1', '33.3%']) - }) - - await test.step('cities modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Cities' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'City', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), [/Tallinn/, /Tartu/, /Warsaw/]) - - await expectMetricValues(modal(page), 'Tartu', ['1', '100%', '0s']) - - await expect(searchInput(modal(page))).toBeVisible() - - await searchInput(modal(page)).fill('Tallinn') - await expectRows(modal(page), [/Tallinn/]) - - await searchInput(modal(page)).fill('') - await expectRows(modal(page), [/Tallinn/, /Tartu/, /Warsaw/]) - - await closeModalButton(page).click() - }) -}) - -test('locations breakdown with a revenue goal filter applied', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 1, - name: 'pageview', - country_code: 'A1' - }, - { - user_id: 2, - name: 'pageview', - country_code: 'A1' - }, - { - user_id: 2, - name: 'purchase', - revenue_reporting_amount: '23', - revenue_reporting_currency: 'EUR', - country_code: 'A1' - }, - { - user_id: 3, - name: 'pageview', - country_code: 'PL', - subdivision1_code: 'PL-14', - city_geoname_id: 756_135 - }, - { - user_id: 4, - name: 'pageview', - country_code: 'EE', - subdivision1_code: 'EE-37', - city_geoname_id: 588_409 - }, - { - user_id: 4, - name: 'purchase', - revenue_reporting_amount: '12345.67', - revenue_reporting_currency: 'EUR', - country_code: 'EE', - subdivision1_code: 'EE-37', - city_geoname_id: 588_409 - } - ] - }) - - await addCustomGoal({ page, domain, name: 'purchase', currency: 'EUR' }) - - await page.goto('/' + domain + '?f=is,goal,purchase', { - waitUntil: 'commit' - }) - - const report = page.getByTestId('report-locations') - - await test.step('countries report shows conversions for revenue goal', async () => { - await tabButton(report, 'Countries').click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expectHeaders(report, ['Country', 'Conversions', 'CR']) - - await expectRows(report, [/Anonymous VPN Service/, /Estonia/]) - - await expectMetricValues(report, 'Anonymous VPN Service', ['1', '50%']) - await expectMetricValues(report, 'Estonia', ['1', '100%']) - }) - - await test.step('countries details modal includes revenue columns', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Countries' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Country', - /Total visitors/, - /Conversions/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), [/Anonymous VPN Service/, /Estonia/]) - - await expectMetricValues(modal(page), 'Anonymous VPN Service', [ - '2', - '1', - '50%', - '€23.0', - '€23.0' - ]) - await expectMetricValues(modal(page), 'Estonia', [ - '1', - '1', - '100%', - '€12.3K', - '€12.3K' - ]) - - await closeModalButton(page).click() - }) - - await test.step('regions report shows conversions for revenue goal', async () => { - await tabButton(report, 'Regions').click() - - await expectHeaders(report, ['Region', 'Conversions', 'CR']) - - await expectRows(report, [/Harjumaa/]) - - await expectMetricValues(report, 'Harjumaa', ['1', '100%']) - }) - - await test.step('regions details modal includes revenue columns', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Regions' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Region', - /Total visitors/, - /Conversions/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), [/Harjumaa/]) - - await expectMetricValues(modal(page), 'Harjumaa', [ - '1', - '1', - '100%', - '€12.3K', - '€12.3K' - ]) - - await closeModalButton(page).click() - }) - - await test.step('cities report shows conversions for revenue goal', async () => { - await tabButton(report, 'Cities').click() - - await expectHeaders(report, ['City', 'Conversions', 'CR']) - - await expectRows(report, [/Tallinn/]) - - await expectMetricValues(report, 'Tallinn', ['1', '100%']) - }) - - await test.step('cities details modal includes revenue columns', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Cities' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'City', - /Total visitors/, - /Conversions/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), [/Tallinn/]) - - await expectMetricValues(modal(page), 'Tallinn', [ - '1', - '1', - '100%', - '€12.3K', - '€12.3K' - ]) - - await closeModalButton(page).click() - }) -}) - -test('devices breakdown', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - name: 'pageview', - screen_size: 'Desktop', - browser: 'Chrome', - browser_version: '14.0.7', - operating_system: 'Windows', - operating_system_version: '11' - }, - { - name: 'pageview', - screen_size: 'Desktop', - browser: 'Firefox', - browser_version: '98', - operating_system: 'MacOS', - operating_system_version: '10.15' - }, - { - name: 'pageview', - screen_size: 'Mobile', - browser: 'Safari', - browser_version: '123', - operating_system: 'iOS', - operating_system_version: '16.15' - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const report = page.getByTestId('report-devices') - - const browsersTabButton = tabButton(report, 'Browsers') - - await test.step('browsers tab', async () => { - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - await expect(browsersTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Browser', 'Visitors']) - - await expectRows(report, ['Chrome', 'Firefox', 'Safari']) - - await expectMetricValues(report, 'Chrome', ['1', '33.3%']) - await expectMetricValues(report, 'Firefox', ['1', '33.3%']) - await expectMetricValues(report, 'Safari', ['1', '33.3%']) - }) - - await test.step('browsers modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Browsers' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Browser', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['Chrome', 'Firefox', 'Safari']) - - await expectMetricValues(modal(page), 'Chrome', ['1', '100%', '0s']) - - await closeModalButton(page).click() - }) - - await test.step('browser versions', async () => { - await rowLink(report, 'Firefox').click() - - await expect(page).toHaveURL(/f=is,browser,Firefox/) - - await expect(browsersTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Browser version', 'Visitors']) - - await expectRows(report, ['Firefox 98']) - - await expectMetricValues(report, 'Firefox 98', ['1', '100%']) - }) - - await test.step('browser versions modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Browser versions' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Browser version', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['98']) - - await expectMetricValues(modal(page), '98', ['1', '100%', '0s']) - - await closeModalButton(page).click() - - await page - .getByRole('button', { name: 'Remove filter: Browser is Firefox' }) - .click() - }) - - const osTabButton = tabButton(report, 'Operating systems') - - await test.step('operating systems tab', async () => { - await osTabButton.click() - await expect(osTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Operating system', 'Visitors']) - - await expectRows(report, ['MacOS', 'Windows', 'iOS']) - - await expectMetricValues(report, 'MacOS', ['1', '33.3%']) - await expectMetricValues(report, 'Windows', ['1', '33.3%']) - await expectMetricValues(report, 'iOS', ['1', '33.3%']) - }) - - await test.step('operating systems modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Operating systems' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Operating system', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['MacOS', 'Windows', 'iOS']) - - await expectMetricValues(modal(page), 'MacOS', ['1', '100%', '0s']) - - await closeModalButton(page).click() - }) - - await test.step('operating system versions', async () => { - await rowLink(report, 'Windows').click() - - await expect(page).toHaveURL(/f=is,os,Windows/) - - await expect(osTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Operating system version', 'Visitors']) - - await expectRows(report, ['Windows 11']) - - await expectMetricValues(report, 'Windows 11', ['1', '100%']) - }) - - await test.step('operating system versions modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Operating system versions' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Operating system version', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['11']) - - await expectMetricValues(modal(page), '11', ['1', '100%', '0s']) - - await closeModalButton(page).click() - - await page - .getByRole('button', { - name: 'Remove filter: Operating system is Windows' - }) - .click() - }) - - await test.step('devices tab', async () => { - const devicesTabButton = tabButton(report, 'Devices') - await devicesTabButton.click() - await expect(devicesTabButton).toHaveAttribute('data-active', 'true') - - await expectHeaders(report, ['Device', 'Visitors']) - - await expectRows(report, ['Desktop', 'Mobile']) - - await expectMetricValues(report, 'Desktop', ['2', '66.7%']) - await expectMetricValues(report, 'Mobile', ['1', '33.3%']) - }) - - await test.step('devices modal', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Devices' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Device', - /Visitors/, - /Bounce rate/, - /Visit duration/ - ]) - - await expectRows(modal(page), ['Desktop', 'Mobile']) - - await expectMetricValues(modal(page), 'Desktop', ['2', '100%', '0s']) - - await closeModalButton(page).click() - }) -}) - -test('devices breakdown with a revenue goal filter applied', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 1, - name: 'pageview', - screen_size: 'Desktop', - browser: 'Chrome', - browser_version: '14.0.7', - operating_system: 'Windows', - operating_system_version: '11' - }, - { - user_id: 1, - name: 'purchase', - revenue_reporting_amount: '23', - revenue_reporting_currency: 'EUR' - }, - { - user_id: 2, - name: 'pageview', - screen_size: 'Desktop', - browser: 'Chrome', - browser_version: '14.0.7', - operating_system: 'Windows', - operating_system_version: '11' - }, - { - user_id: 3, - name: 'pageview', - screen_size: 'Mobile', - browser: 'Firefox', - browser_version: '98', - operating_system: 'MacOS', - operating_system_version: '10.15' - }, - { - user_id: 3, - name: 'purchase', - revenue_reporting_amount: '12345.67', - revenue_reporting_currency: 'EUR' - } - ] - }) - - await addCustomGoal({ page, domain, name: 'purchase', currency: 'EUR' }) - - await page.goto('/' + domain + '?f=is,goal,purchase', { - waitUntil: 'commit' - }) - - const report = page.getByTestId('report-devices') - - await test.step('browsers report shows conversions for revenue goal', async () => { - await tabButton(report, 'Browsers').click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expectHeaders(report, ['Browser', 'Conversions', 'CR']) - - await expectRows(report, ['Chrome', 'Firefox']) - - await expectMetricValues(report, 'Chrome', ['1', '50%']) - await expectMetricValues(report, 'Firefox', ['1', '100%']) - }) - - await test.step('browsers details modal includes revenue columns', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Browsers' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Browser', - /Total visitors/, - /Conversions/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), ['Chrome', 'Firefox']) - - await expectMetricValues(modal(page), 'Chrome', [ - '2', - '1', - '50%', - '€23.0', - '€23.0' - ]) - await expectMetricValues(modal(page), 'Firefox', [ - '1', - '1', - '100%', - '€12.3K', - '€12.3K' - ]) - - await closeModalButton(page).click() - }) - - await test.step('browser versions report shows conversions for revenue goal', async () => { - await rowLink(report, 'Chrome').click() - - await expect(page).toHaveURL(/f=is,browser,Chrome/) - - await expectHeaders(report, ['Browser version', 'Conversions', 'CR']) - - await expectRows(report, ['Chrome 14.0.7']) - - await expectMetricValues(report, 'Chrome 14.0.7', ['1', '50%']) - }) - - await test.step('browser versions details modal includes revenue columns', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Browser versions' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Browser version', - /Total visitors/, - /Conversions/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), ['14.0.7']) - - await expectMetricValues(modal(page), '14.0.7', [ - '2', - '1', - '50%', - '€23.0', - '€23.0' - ]) - - await closeModalButton(page).click() - - await page - .getByRole('button', { name: 'Remove filter: Browser is Chrome' }) - .click() - }) - - await test.step('operating systems report shows conversions for revenue goal', async () => { - await tabButton(report, 'Operating systems').click() - - await expectHeaders(report, ['Operating system', 'Conversions', 'CR']) - - await expectRows(report, ['MacOS', 'Windows']) - - await expectMetricValues(report, 'MacOS', ['1', '100%']) - await expectMetricValues(report, 'Windows', ['1', '50%']) - }) - - await test.step('operating systems details modal includes revenue columns', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Operating systems' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Operating system', - /Total visitors/, - /Conversions/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), ['MacOS', 'Windows']) - - await expectMetricValues(modal(page), 'MacOS', [ - '1', - '1', - '100%', - '€12.3K', - '€12.3K' - ]) - await expectMetricValues(modal(page), 'Windows', [ - '2', - '1', - '50%', - '€23.0', - '€23.0' - ]) - - await closeModalButton(page).click() - }) - - await test.step('operating system versions report shows conversions for revenue goal', async () => { - await rowLink(report, 'Windows').click() - - await expect(page).toHaveURL(/f=is,os,Windows/) - - await expectHeaders(report, [ - 'Operating system version', - 'Conversions', - 'CR' - ]) - - await expectRows(report, ['Windows 11']) - - await expectMetricValues(report, 'Windows 11', ['1', '50%']) - }) - - await test.step('operating system versions details modal includes revenue columns', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Operating system versions' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Operating system version', - /Total visitors/, - /Conversions/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), ['11']) - - await expectMetricValues(modal(page), '11', [ - '2', - '1', - '50%', - '€23.0', - '€23.0' - ]) - - await closeModalButton(page).click() - - await page - .getByRole('button', { - name: 'Remove filter: Operating system is Windows' - }) - .click() - }) - - await test.step('devices report shows conversions for revenue goal', async () => { - await tabButton(report, 'Devices').click() - - await expectHeaders(report, ['Device', 'Conversions', 'CR']) - - await expectRows(report, ['Desktop', 'Mobile']) - - await expectMetricValues(report, 'Desktop', ['1', '50%']) - await expectMetricValues(report, 'Mobile', ['1', '100%']) - }) - - await test.step('devices details modal includes revenue columns', async () => { - await detailsLink(report).click() - - await expect( - modal(page).getByRole('heading', { name: 'Devices' }) - ).toBeVisible() - - await expectHeaders(modal(page), [ - 'Device', - /Total visitors/, - /Conversions/, - /CR/, - /Revenue/, - /Average/ - ]) - - await expectRows(modal(page), ['Desktop', 'Mobile']) - - await expectMetricValues(modal(page), 'Desktop', [ - '2', - '1', - '50%', - '€23.0', - '€23.0' - ]) - await expectMetricValues(modal(page), 'Mobile', [ - '1', - '1', - '100%', - '€12.3K', - '€12.3K' - ]) - - await closeModalButton(page).click() - }) -}) diff --git a/e2e/tests/dashboard/csv-export.spec.ts b/e2e/tests/dashboard/csv-export.spec.ts deleted file mode 100644 index b6bf9d57020d2a8d828579f4a20620bb17869012..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/csv-export.spec.ts +++ /dev/null @@ -1,421 +0,0 @@ -import { test, expect } from '@playwright/test' -import type { Page } from '@playwright/test' -import { unzipSync } from 'fflate' -import * as fs from 'fs' -import { - setupSite, - populateStats, - addGoal, - addCustomProp, - StatsEntry -} from '../fixtures' - -const EXPECTED_HEADERS = { - defaultVisitorsCsv: [ - 'date', - 'visitors', - 'pageviews', - 'visits', - 'views_per_visit', - 'bounce_rate', - 'visit_duration' - ], - pageFilteredVisitorsCsv: [ - 'date', - 'visitors', - 'pageviews', - 'visits', - 'bounce_rate', - 'time_on_page', - 'scroll_depth' - ], - goalFilteredVisitorsCsv: [ - 'date', - 'unique_conversions', - 'total_conversions', - 'conversion_rate' - ], - pagesBreakdown: [ - 'name', - 'visitors', - 'pageviews', - 'bounce_rate', - 'time_on_page', - 'scroll_depth' - ], - entryPagesBreakdown: [ - 'name', - 'unique_entrances', - 'total_entrances', - 'bounce_rate', - 'visit_duration' - ], - exitPagesBreakdown: ['name', 'unique_exits', 'total_exits', 'exit_rate'], - exitPagesNoExitRate: ['name', 'unique_exits', 'total_exits'], - commonBreakdown: ['name', 'visitors', 'bounce_rate', 'visit_duration'], - commonGoalFilteredBreakdown: ['name', 'conversions', 'conversion_rate'], - nameAndVisitors: ['name', 'visitors'], - nameVersionAndVisitors: ['name', 'version', 'visitors'], - nameVersionGoalFiltered: [ - 'name', - 'version', - 'conversions', - 'conversion_rate' - ], - customPropsDefault: ['property', 'value', 'visitors', 'events', 'percentage'], - customPropsGoalFiltered: [ - 'property', - 'value', - 'visitors', - 'events', - 'conversion_rate' - ], - conversionsBreakdown: ['name', 'unique_conversions', 'total_conversions'] -} - -const UTM_AND_SOURCE_REPORTS = [ - 'sources.csv', - 'channels.csv', - 'referrers.csv', - 'utm_mediums.csv', - 'utm_sources.csv', - 'utm_campaigns.csv', - 'utm_contents.csv', - 'utm_terms.csv' -] - -const SIMPLE_LOCATION_AND_DEVICE_REPORTS = [ - 'countries.csv', - 'regions.csv', - 'cities.csv', - 'browsers.csv', - 'operating_systems.csv', - 'devices.csv' -] - -const VERSION_REPORTS = [ - 'browser_versions.csv', - 'operating_system_versions.csv' -] - -function parseAllCsvs( - files: Record -): Record { - return Object.fromEntries( - Object.entries(files).map(([filename, content]) => [ - filename, - content - .split(/\r?\n/) - .filter((row) => !!row.length) - .map((line) => line.split(',')) - ]) - ) -} - -function getCsv( - csvs: Record, - filename: string -): string[][] { - const rows = csvs[filename] - if (rows === undefined) throw new Error(`Expected ${filename} in CSV export`) - return rows -} - -test('csv export column headers match expected metrics for each report', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - await addCustomProp({ page, domain, name: 'author' }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', 'meta.key': ['author'], 'meta.value': ['john'] }, - { name: 'Signup', 'meta.key': ['author'], 'meta.value': ['john'] } - ] - }) - - await test.step('without any filters', async () => { - await page.goto(`/${domain}?period=all`, { - waitUntil: 'commit' - }) - - const csvs = parseAllCsvs(await triggerExportAndAwaitDownload(page)) - - expect(getCsv(csvs, 'visitors.csv')[0]).toEqual( - EXPECTED_HEADERS.defaultVisitorsCsv - ) - expect(getCsv(csvs, 'pages.csv')[0]).toEqual( - EXPECTED_HEADERS.pagesBreakdown - ) - expect(getCsv(csvs, 'entry_pages.csv')[0]).toEqual( - EXPECTED_HEADERS.entryPagesBreakdown - ) - expect(getCsv(csvs, 'exit_pages.csv')[0]).toEqual( - EXPECTED_HEADERS.exitPagesBreakdown - ) - - for (const filename of UTM_AND_SOURCE_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.commonBreakdown - ) - } - for (const filename of SIMPLE_LOCATION_AND_DEVICE_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.nameAndVisitors - ) - } - for (const filename of VERSION_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.nameVersionAndVisitors - ) - } - expect(getCsv(csvs, 'custom_props.csv')[0]).toEqual( - EXPECTED_HEADERS.customPropsDefault - ) - expect(getCsv(csvs, 'conversions.csv')[0]).toEqual( - EXPECTED_HEADERS.conversionsBreakdown - ) - }) - - await test.step('with a page filter', async () => { - await page.goto(`/${domain}?period=all&f=is,page,/`, { - waitUntil: 'commit' - }) - - await expect( - page.getByRole('button', { name: 'Remove filter: Page is /' }) - ).toBeVisible() - - const csvs = parseAllCsvs(await triggerExportAndAwaitDownload(page)) - - expect(getCsv(csvs, 'visitors.csv')[0]).toEqual( - EXPECTED_HEADERS.pageFilteredVisitorsCsv - ) - expect(getCsv(csvs, 'pages.csv')[0]).toEqual( - EXPECTED_HEADERS.pagesBreakdown - ) - expect(getCsv(csvs, 'entry_pages.csv')[0]).toEqual( - EXPECTED_HEADERS.entryPagesBreakdown - ) - expect(getCsv(csvs, 'exit_pages.csv')[0]).toEqual( - EXPECTED_HEADERS.exitPagesNoExitRate - ) - - for (const filename of UTM_AND_SOURCE_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.commonBreakdown - ) - } - for (const filename of SIMPLE_LOCATION_AND_DEVICE_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.nameAndVisitors - ) - } - for (const filename of VERSION_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.nameVersionAndVisitors - ) - } - expect(getCsv(csvs, 'custom_props.csv')[0]).toEqual( - EXPECTED_HEADERS.customPropsDefault - ) - expect(getCsv(csvs, 'conversions.csv')[0]).toEqual( - EXPECTED_HEADERS.conversionsBreakdown - ) - }) - - await test.step('with a goal filter', async () => { - await addGoal({ request, domain, params: { event_name: 'Signup' } }) - - await page.goto(`/${domain}?period=all&f=is,goal,Signup`, { - waitUntil: 'commit' - }) - - await expect( - page.getByRole('button', { name: 'Remove filter: Goal is Signup' }) - ).toBeVisible() - - const csvs = parseAllCsvs(await triggerExportAndAwaitDownload(page)) - - expect(getCsv(csvs, 'visitors.csv')[0]).toEqual( - EXPECTED_HEADERS.goalFilteredVisitorsCsv - ) - - for (const filename of [ - 'pages.csv', - 'entry_pages.csv', - 'exit_pages.csv', - ...UTM_AND_SOURCE_REPORTS, - ...SIMPLE_LOCATION_AND_DEVICE_REPORTS - ]) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.commonGoalFilteredBreakdown - ) - } - for (const filename of VERSION_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.nameVersionGoalFiltered - ) - } - expect(getCsv(csvs, 'custom_props.csv')[0]).toEqual( - EXPECTED_HEADERS.customPropsGoalFiltered - ) - expect(getCsv(csvs, 'conversions.csv')[0]).toEqual( - EXPECTED_HEADERS.conversionsBreakdown - ) - }) - - await test.step('with a custom prop filter', async () => { - await page.goto(`/${domain}?period=all&f=is,props:author,john`, { - waitUntil: 'commit' - }) - - await expect( - page.getByRole('button', { - name: 'Remove filter: Property author is john' - }) - ).toBeVisible() - - const csvs = parseAllCsvs(await triggerExportAndAwaitDownload(page)) - - expect(getCsv(csvs, 'visitors.csv')[0]).toEqual( - EXPECTED_HEADERS.defaultVisitorsCsv - ) - expect(getCsv(csvs, 'pages.csv')[0]).toEqual( - EXPECTED_HEADERS.pagesBreakdown - ) - expect(getCsv(csvs, 'entry_pages.csv')[0]).toEqual( - EXPECTED_HEADERS.entryPagesBreakdown - ) - expect(getCsv(csvs, 'exit_pages.csv')[0]).toEqual( - EXPECTED_HEADERS.exitPagesNoExitRate - ) - - for (const filename of UTM_AND_SOURCE_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.commonBreakdown - ) - } - for (const filename of SIMPLE_LOCATION_AND_DEVICE_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.nameAndVisitors - ) - } - for (const filename of VERSION_REPORTS) { - expect(getCsv(csvs, filename)[0]).toEqual( - EXPECTED_HEADERS.nameVersionAndVisitors - ) - } - expect(getCsv(csvs, 'custom_props.csv')[0]).toEqual( - EXPECTED_HEADERS.customPropsDefault - ) - expect(getCsv(csvs, 'conversions.csv')[0]).toEqual( - EXPECTED_HEADERS.conversionsBreakdown - ) - }) -}) - -test('filters out empty visit:* dimension values', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - - const base: StatsEntry = { - name: 'pageview', - pathname: '/', - timestamp: '2021-01-01 12:00:00', - utm_medium: 't', - utm_source: 't', - utm_campaign: 't', - utm_content: 't', - utm_term: 't', - country_code: 'EE', - subdivision1_code: 'EE-37', - city_geoname_id: 588_409 - } - - await populateStats({ - request, - domain, - events: [ - // session with empty entry page — excluded from entry_pages.csv - { ...base, user_id: 1, pathname: '' }, - { ...base, user_id: 1, pathname: '/', timestamp: '2021-01-01 12:01:00' }, - // session with empty exit page — excluded from exit_pages.csv - { ...base, user_id: 2, pathname: '/' }, - { ...base, user_id: 2, pathname: '', timestamp: '2021-01-01 12:01:00' }, - // one bad utm_* per session — each excluded from its own report - { ...base, user_id: 3, utm_medium: '' }, - { ...base, user_id: 4, utm_source: '' }, - { ...base, user_id: 5, utm_campaign: '' }, - { ...base, user_id: 6, utm_content: '' }, - { ...base, user_id: 7, utm_term: '' }, - // one bad location per session — each excluded from its own report - { ...base, user_id: 8, country_code: 'ZZ' }, - { ...base, user_id: 9, subdivision1_code: '' }, - { ...base, user_id: 10, city_geoname_id: 0 } - ] - }) - - await page.goto(`/${domain}?period=all`, { - waitUntil: 'commit' - }) - - const csvs = parseAllCsvs(await triggerExportAndAwaitDownload(page)) - - // assert that each - for (const filename of [ - 'entry_pages.csv', - 'exit_pages.csv', - 'utm_mediums.csv', - 'utm_sources.csv', - 'utm_campaigns.csv', - 'utm_contents.csv', - 'utm_terms.csv', - 'countries.csv', - 'regions.csv', - 'cities.csv' - ]) { - await test.step(filename, async () => { - expect(getCsv(csvs, filename).slice(1)).toHaveLength(1) - }) - } -}) - -async function triggerExportAndAwaitDownload( - page: Page -): Promise> { - await page.getByTestId('dashboard-options-menu').click() - await page.getByText('Export stats').waitFor({ state: 'visible' }) - - const [result] = await Promise.all([ - Promise.race([ - page - .waitForEvent('download') - .then((d) => ({ ok: true as const, download: d })), - page - .waitForEvent('pageerror') - .then((e) => ({ ok: false as const, error: e })) - ]), - page.getByText('Export stats').click() - ]) - - if (!result.ok) throw result.error - const { download } = result - - const zipPath = await download.path() - if (!zipPath) throw new Error('Download path unavailable') - - const files = unzipSync(new Uint8Array(fs.readFileSync(zipPath))) - - return Object.fromEntries( - Object.entries(files).map(([filename, data]) => [ - filename, - new TextDecoder().decode(data) - ]) - ) -} diff --git a/e2e/tests/dashboard/exploration.spec.ts b/e2e/tests/dashboard/exploration.spec.ts deleted file mode 100644 index 54020131eab1ca8d87dd1a232fa2dcecb7cf152f..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/exploration.spec.ts +++ /dev/null @@ -1,1515 +0,0 @@ -import { test, expect, Page, Locator } from '@playwright/test' -import { setupSite, populateStats, addGoal } from '../fixtures' -import { tabButton } from '../test-utils' - -const getReport = (page: Page) => page.getByTestId('report-behaviours') -const getExplorationTabButton = (report: Locator) => - tabButton(report, 'Explore') - -test('load user journey', async ({ page, request }) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/page', - timestamp: { daysAgo: 7 } - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - await expect( - report.getByTestId('exploration-direction-forward') - ).toBeVisible() - - const firstColumn = report.getByTestId('exploration-column-0') - const secondColumn = report.getByTestId('exploration-column-1') - - await expect(firstColumn).toBeVisible() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/page']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1']) - - await expect(secondColumn).toHaveText(/1 step after/) - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - - await firstColumn.getByRole('button', { name: '/page' }).click() - - await expect( - firstColumn.getByRole('button', { name: '/page' }) - ).toHaveAttribute('data-exploration-step', '0') - - await expect(secondColumn).toHaveText(/No further steps found/) -}) - -test('load user journey and switch to a period with no events without waiting for load', async ({ - page, - request -}) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/page', - timestamp: { hoursAgo: 40 } - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - // switch to 'Today' - await page.keyboard.press('d') - - await expect(report).toHaveText(/No data yet/) -}) - -test('load user journey and switch to a period with no events', async ({ - page, - request -}) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/page', - timestamp: { daysAgo: 7 } - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - const firstColumn = report.getByTestId('exploration-column-0') - - await expect(firstColumn).toBeVisible() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/page']) - - // switch to 'Today' - await page.keyboard.press('d') - - await expect(report).toHaveText(/No data yet/) -}) - -test('explore a 3-step funnel', async ({ page, request }) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/dashboard', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/another', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/journey', - timestamp: { minutesAgo: 35 } - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - await expect( - report.getByTestId('exploration-direction-forward') - ).toBeVisible() - - const firstColumn = report.getByTestId('exploration-column-0') - const secondColumn = report.getByTestId('exploration-column-1') - const thirdColumn = report.getByTestId('exploration-column-2') - - await firstColumn.getByRole('button', { name: '/home' }).click() - - await expect( - firstColumn.getByRole('button', { name: '/home' }) - ).toHaveAttribute('data-exploration-step', '0') - - await secondColumn.getByRole('button', { name: '/login' }).click() - - await expect( - secondColumn.getByRole('button', { name: '/login' }) - ).toHaveAttribute('data-exploration-step', '1') - - await thirdColumn.getByRole('button', { name: '/dashboard' }).click() - - await expect( - thirdColumn.getByRole('button', { name: '/dashboard' }) - ).toHaveAttribute('data-exploration-step', '2') - - await expect(firstColumn).toBeVisible() - await expect(secondColumn).toBeVisible() - await expect(thirdColumn).toBeVisible() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home', '/login', '/another', '/dashboard', '/journey']) - - await expect( - firstColumn.getByRole('button', { name: '/home' }) - ).toHaveAttribute('data-exploration-step', '0') - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['3', '2', '1', '1', '1']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login', 'No further action']) - - await expect( - secondColumn.getByRole('button', { name: '/login' }) - ).toHaveAttribute('data-exploration-step', '1') - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['2', '1']) - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['No further action', '/dashboard']) - - await expect( - thirdColumn.getByRole('button', { name: '/dashboard' }) - ).toHaveAttribute('data-exploration-step', '2') - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1', '1']) - - await expect(secondColumn).toHaveText(/1 step after/) - await expect(thirdColumn).toHaveText(/2 steps after/) - - await test.step('Deselecting all resets the journey', async () => { - await report.getByTestId('exploration-deselect-all').click() - - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - await expect(thirdColumn).toHaveText(/Select an event to continue/) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home', '/login', '/another', '/dashboard', '/journey']) - - await expect( - firstColumn.getByRole('button', { name: '/dashboard' }) - ).not.toHaveAttribute('data-exploration-step') - }) -}) - -test('select entries in a 1-step journey', async ({ page, request }) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/dashboard', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/another-home', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/journey', - timestamp: { minutesAgo: 35 } - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - await expect( - report.getByTestId('exploration-direction-forward') - ).toBeVisible() - - const firstColumn = report.getByTestId('exploration-column-0') - const secondColumn = report.getByTestId('exploration-column-1') - - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home', '/login', '/another-home', '/dashboard', '/journey']) - - await expect( - firstColumn.getByRole('button', { name: '/home' }) - ).not.toHaveAttribute('data-exploration-step', '0') - - await test.step('select an entry', async () => { - await firstColumn.getByRole('button', { name: '/login' }).click() - - await expect( - firstColumn.getByRole('button', { name: '/login' }) - ).toHaveAttribute('data-exploration-step', '0') - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['No further action', '/dashboard']) - }) - - await test.step('select a different entry', async () => { - await firstColumn.getByRole('button', { name: '/another' }).click() - - await expect( - firstColumn.getByRole('button', { name: '/another-home' }) - ).toHaveAttribute('data-exploration-step', '0') - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/journey']) - }) - - await test.step('select a different entry with no further steps', async () => { - await firstColumn.getByRole('button', { name: '/dashboard' }).click() - - await expect( - firstColumn.getByRole('button', { name: '/dashboard' }) - ).toHaveAttribute('data-exploration-step', '0') - - await expect(secondColumn).toHaveText(/No further steps found/) - }) - - await test.step('deselect an entry', async () => { - await firstColumn.getByRole('button', { name: '/dashboard' }).click() - - await expect( - firstColumn.getByRole('button', { name: '/dashboard' }) - ).not.toHaveAttribute('data-exploration-step', '0') - - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - }) - - await test.step('filter entries with match', async () => { - await firstColumn.getByPlaceholder('Search').fill('dash') - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/dashboard']) - }) - - await test.step('filter entries with no match', async () => { - await firstColumn.getByPlaceholder('Search').fill('nosuchthing') - - await expect(firstColumn).toHaveText(/No events found/) - }) - - await test.step('filter returning more than one entry', async () => { - await firstColumn.getByPlaceholder('Search').fill('home') - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home', '/another-home']) - }) - - await test.step('select an entry with filtering applied', async () => { - await firstColumn.getByRole('button', { name: '/home' }).click() - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login', 'No further action']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home', '/another-home']) - - await expect( - firstColumn.getByRole('button', { name: '/home' }) - ).toHaveAttribute('data-exploration-step', '0') - }) - - await test.step('select another entry with filtering still applied', async () => { - await firstColumn.getByRole('button', { name: '/another-home' }).click() - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/journey']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home', '/another-home']) - - await expect( - firstColumn.getByRole('button', { name: '/another-home' }) - ).toHaveAttribute('data-exploration-step', '0') - }) - - await test.step('deselect an entry with filtering still applied', async () => { - await firstColumn.getByRole('button', { name: '/another-home' }).click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home', '/login', '/another-home', '/dashboard', '/journey']) - - await expect( - firstColumn.getByRole('button', { name: '/another-home' }) - ).not.toHaveAttribute('data-exploration-step', '0') - - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - }) -}) - -test('select entries in a 3-step journey', async ({ page, request }) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/dashboard', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/logout', - timestamp: { minutesAgo: 25 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/dashboard', - timestamp: { minutesAgo: 25 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/another-home', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/journey', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/somewhere', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 127, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 127, - name: 'pageview', - pathname: '/blog', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 128, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 40 } - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - await expect( - report.getByTestId('exploration-direction-forward') - ).toBeVisible() - - const firstColumn = report.getByTestId('exploration-column-0') - const secondColumn = report.getByTestId('exploration-column-1') - const thirdColumn = report.getByTestId('exploration-column-2') - const fourthColumn = report.getByTestId('exploration-column-3') - - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - - await firstColumn.getByRole('button', { name: '/home' }).click() - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login', 'No further action', '/blog']) - - await test.step('filter for "No further action" in the second step', async () => { - await secondColumn.getByPlaceholder('Search').fill('no further') - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['No further action']) - }) - - await secondColumn.getByPlaceholder('Search').fill('') - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login', 'No further action', '/blog']) - - await test.step('select an entry in the 2nd step', async () => { - await secondColumn.getByRole('button', { name: '/login' }).click() - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/dashboard', '/logout']) - - await expect( - secondColumn.getByRole('button', { name: '/login' }) - ).toHaveAttribute('data-exploration-step', '1') - }) - - await test.step('select a different entry in the 2nd step', async () => { - await secondColumn.getByRole('button', { name: '/blog' }).click() - - await expect(thirdColumn).toHaveText(/No further steps found/) - - await expect( - secondColumn.getByRole('button', { name: '/blog' }) - ).toHaveAttribute('data-exploration-step', '1') - }) - - await test.step('deselect an entry in the 2nd step', async () => { - await secondColumn.getByRole('button', { name: '/blog' }).click() - - await expect(thirdColumn).toHaveText(/Select an event to continue/) - - await expect( - secondColumn.getByRole('button', { name: '/blog' }) - ).not.toHaveAttribute('data-exploration-step', '1') - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login', 'No further action', '/blog']) - }) - - await test.step('select a different entry in the 1st step', async () => { - await firstColumn.getByRole('button', { name: '/another-home' }).click() - - await expect( - firstColumn.getByRole('button', { name: '/another-home' }) - ).toHaveAttribute('data-exploration-step', '0') - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/journey']) - - await expect(thirdColumn).toHaveText(/Select an event to continue/) - }) - - await test.step('select an entry in the 2nd step and 3rd step', async () => { - await secondColumn.getByRole('button', { name: '/journey' }).click() - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/somewhere']) - - await thirdColumn.getByRole('button', { name: '/somewhere' }).click() - - await expect(fourthColumn).toHaveText(/No further steps found/) - }) - - await test.step('deselect an entry at the 1st step', async () => { - await firstColumn.getByRole('button', { name: '/another-home' }).click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText([ - '/home', - '/login', - '/dashboard', - '/another-home', - '/blog', - '/journey', - '/logout', - '/somewhere' - ]) - - await expect( - firstColumn.getByRole('button', { name: '/another-home' }) - ).not.toHaveAttribute('data-exploration-step', '0') - - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - - await expect(thirdColumn).toHaveText(/Select an event to continue/) - - await expect(fourthColumn).toBeHidden() - }) -}) - -test('explore journey hitting 20 step limit', async ({ page, request }) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - const events = [...Array(21).keys()].map((i) => { - return { - user_id: 123, - name: 'pageview', - pathname: `/page${i}`, - timestamp: { minutesAgo: 100 - i } - } - }) - - await populateStats({ request, domain, events }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - await expect( - report.getByTestId('exploration-direction-forward') - ).toBeVisible() - - const firstColumn = report.getByTestId('exploration-column-0') - const lastColumn = report.getByTestId('exploration-column-20') - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText([ - '/page0', - '/page1', - '/page10', - '/page11', - '/page12', - '/page13', - '/page14', - '/page15', - '/page16', - '/page17' - ]) - - await (async () => { - for await (const i of [...Array(20).keys()]) { - const column = report.getByTestId(`exploration-column-${i}`) - - await column.getByRole('button', { name: `/page${i}` }).click() - - await expect( - column.getByRole('button', { name: `/page${i}` }) - ).toHaveAttribute('data-exploration-step', `${i}`) - } - })() - - await expect(lastColumn).toHaveText( - /You've reached the maximum journey depth/ - ) -}) - -test('explore from end point', async ({ page, request }) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/dashboard', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 124, - name: 'pageview', - pathname: '/logout', - timestamp: { minutesAgo: 25 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 125, - name: 'pageview', - pathname: '/dashboard', - timestamp: { minutesAgo: 25 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/another-home', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/journey', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 126, - name: 'pageview', - pathname: '/somewhere', - timestamp: { minutesAgo: 30 } - }, - { - user_id: 127, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 40 } - }, - { - user_id: 127, - name: 'pageview', - pathname: '/blog', - timestamp: { minutesAgo: 35 } - }, - { - user_id: 128, - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 40 } - } - ] - }) - - const firstStepSuggestions = [ - '/home', - '/login', - '/dashboard', - '/another-home', - '/blog', - '/journey', - '/logout', - '/somewhere' - ] - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - const firstColumn = report.getByTestId('exploration-column-0') - const secondColumn = report.getByTestId('exploration-column-1') - const thirdColumn = report.getByTestId('exploration-column-2') - const fourthColumn = report.getByTestId('exploration-column-3') - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(firstStepSuggestions) - - await test.step('switch to end point, back to start point and to end point again', async () => { - await report.getByTestId('exploration-direction-forward').click() - await report.getByTestId('exploration-direction-backward').click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(firstStepSuggestions) - - await expect( - firstColumn.getByRole('button', { name: '/home' }) - ).not.toHaveAttribute('data-exploration-step', '0') - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(firstStepSuggestions) - - await expect(secondColumn).toHaveText(/1 step before/) - await expect(secondColumn).toHaveText(/Select an end point to continue/) - await expect(thirdColumn).toHaveText(/2 steps before/) - await expect(thirdColumn).toHaveText(/Select an event to continue/) - await expect(fourthColumn).toBeHidden() - - await report.getByTestId('exploration-direction-backward').click() - await report.getByTestId('exploration-direction-forward').click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(firstStepSuggestions) - - await expect(secondColumn).toHaveText(/1 step after/) - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - await expect(thirdColumn).toHaveText(/2 steps after/) - await expect(thirdColumn).toHaveText(/Select an event to continue/) - await expect(fourthColumn).toBeHidden() - }) - - await test.step('explore a 3-step journey from an end point', async () => { - await report.getByTestId('exploration-direction-forward').click() - await report.getByTestId('exploration-direction-backward').click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(firstStepSuggestions) - - await firstColumn.getByRole('button', { name: '/dashboard' }).click() - - await expect( - firstColumn.getByRole('button', { name: '/dashboard' }) - ).toHaveAttribute('data-exploration-step', '0') - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login']) - - await expect(thirdColumn).toHaveText(/Select an event to continue/) - - await secondColumn.getByRole('button', { name: '/login' }).click() - - await expect( - secondColumn.getByRole('button', { name: '/login' }) - ).toHaveAttribute('data-exploration-step', '1') - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home']) - - await thirdColumn.getByRole('button', { name: '/home' }).click() - - await expect( - thirdColumn.getByRole('button', { name: '/home' }) - ).toHaveAttribute('data-exploration-step', '2') - - await expect(fourthColumn).toHaveText(/No further steps found/) - }) - - await test.step('switch back to starting point', async () => { - await report.getByTestId('exploration-direction-backward').click() - await report.getByTestId('exploration-direction-forward').click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(firstStepSuggestions) - }) -}) - -test('change filters during a 3-step journey', async ({ page, request }) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - browser: 'Firefox', - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 20 } - }, - { - user_id: 123, - browser: 'Firefox', - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 19 } - }, - { - user_id: 123, - browser: 'Chrome', - name: 'pageview', - pathname: '/dashboard', - timestamp: { minutesAgo: 18 } - }, - { - user_id: 124, - browser: 'Chrome', - name: 'pageview', - pathname: '/home', - timestamp: { minutesAgo: 20 } - }, - { - user_id: 124, - browser: 'Chrome', - name: 'pageview', - pathname: '/login', - timestamp: { minutesAgo: 19 } - }, - { - user_id: 125, - browser: 'Safari', - name: 'pageview', - pathname: '/other', - timestamp: { minutesAgo: 20 } - }, - { - user_id: 125, - browser: 'Safari', - name: 'pageview', - pathname: '/journey', - timestamp: { minutesAgo: 19 } - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - await expect( - report.getByTestId('exploration-direction-forward') - ).toBeVisible() - - const firstColumn = report.getByTestId('exploration-column-0') - const secondColumn = report.getByTestId('exploration-column-1') - const thirdColumn = report.getByTestId('exploration-column-2') - const fourthColumn = report.getByTestId('exploration-column-3') - - await firstColumn.getByRole('button', { name: '/home' }).click() - - await expect( - firstColumn.getByRole('button', { name: '/home' }) - ).toHaveAttribute('data-exploration-step', '0') - - await secondColumn.getByRole('button', { name: '/login' }).click() - - await expect( - secondColumn.getByRole('button', { name: '/login' }) - ).toHaveAttribute('data-exploration-step', '1') - - await thirdColumn.getByRole('button', { name: '/dashboard' }).click() - - await expect( - thirdColumn.getByRole('button', { name: '/dashboard' }) - ).toHaveAttribute('data-exploration-step', '2') - - await expect(fourthColumn).toHaveText(/No further steps found/) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home', '/login', '/dashboard', '/journey', '/other']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['2', '2', '1', '1', '1']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['2']) - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['No further action', '/dashboard']) - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1', '1']) - - await test.step('filtering with journey matches in all 3 steps', async () => { - // filter by 'Firefox' browser - await page - .getByTestId('report-devices') - .getByRole('link', { name: 'Firefox' }) - .click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1']) - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/dashboard']) - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1']) - - await expect(fourthColumn).toHaveText(/No further steps found/) - - // remove the filter - page - .getByRole('button', { name: 'Remove filter: Browser is Firefox' }) - .click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['2']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['2']) - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/dashboard']) - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1']) - - await expect(fourthColumn).toHaveText(/No further steps found/) - }) - - await test.step('filtering with journey matches for 2 first steps', async () => { - // filter by 'Chrome' browser - await page - .getByTestId('report-devices') - .getByRole('link', { name: 'Chrome' }) - .click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1']) - - await expect(thirdColumn).toHaveText(/No further steps found/) - - await expect(fourthColumn).toBeHidden() - - // remove the filter - page - .getByRole('button', { name: 'Remove filter: Browser is Chrome' }) - .click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['2']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/login']) - - await expect( - secondColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['2']) - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['No further action', '/dashboard']) - - await expect( - thirdColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1', '1']) - - await expect( - thirdColumn.getByRole('button', { name: '/dashboard' }) - ).not.toHaveAttribute('data-exploration-step', '2') - - await expect(fourthColumn).toBeHidden() - }) - - // select the 3rd step again - await thirdColumn.getByRole('button', { name: '/dashboard' }).click() - - await expect( - thirdColumn.getByRole('button', { name: '/dashboard' }) - ).toHaveAttribute('data-exploration-step', '2') - - await test.step('filtering with journey with no matches for any of the steps', async () => { - // filter by 'Chrome' browser - await page - .getByTestId('report-devices') - .getByRole('link', { name: 'Safari' }) - .click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/journey', '/other']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['1', '1']) - - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - - await expect(thirdColumn).toHaveText(/Select an event to continue/) - - await expect(fourthColumn).toBeHidden() - - // remove the filter - page - .getByRole('button', { name: 'Remove filter: Browser is Safari' }) - .click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(['/home', '/login', '/dashboard', '/journey', '/other']) - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-value') - ).toHaveText(['2', '2', '1', '1', '1']) - - await expect(secondColumn).toHaveText(/Select a starting point to continue/) - - await expect(thirdColumn).toHaveText(/Select an event to continue/) - - await expect(fourthColumn).toBeHidden() - }) -}) - -test('render various types of entries', async ({ page, request }) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - name: 'pageview', - pathname: '/home' - }, - { - name: 'pageview', - pathname: '/login' - }, - { - name: 'checkout' - }, - { - name: 'create_site' - }, - { - name: 'pageview', - pathname: '/blog/first-post' - }, - { - name: 'pageview', - pathname: '/blog/second-post' - } - ] - }) - - await addGoal({ - request, - domain, - params: { event_name: 'create_site', display_name: 'Create a site' } - }) - - await addGoal({ request, domain, params: { page_path: '/login' } }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - await expect( - report.getByTestId('exploration-direction-forward') - ).toBeVisible() - - const firstColumn = report.getByTestId('exploration-column-0') - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText([ - '/blog', - 'checkout', - 'Create a site', - '/blog/first-post', - '/blog/second-post', - '/home', - 'Visit /login' - ]) - - await firstColumn.getByTestId('exploration-row').nth(0).locator('svg').hover() - await expect(page.getByRole('tooltip')).toHaveText( - /Grouped pages: 2 pages with this prefix/ - ) - - await firstColumn.getByTestId('exploration-row').nth(2).locator('svg').hover() - await expect(page.getByRole('tooltip')).toHaveText(/Goal/) - - await firstColumn.getByTestId('exploration-row').nth(6).locator('svg').hover() - await expect(page.getByRole('tooltip')).toHaveText(/Goal/) -}) - -test('load more suggestions', async ({ page, request }) => { - const report = getReport(page) - const explorationTabButton = getExplorationTabButton(report) - const { domain } = await setupSite({ page, request }) - - const events1 = [...Array(25).keys()].map((i) => { - return { - name: 'pageview', - pathname: `/pageone${String(i).padStart(2, '0')}` - } - }) - - const events2 = [...Array(25).keys()].map((i) => { - return { - name: 'pageview', - pathname: `/pagetwo${String(i).padStart(2, '0')}` - } - }) - - await populateStats({ - request, - domain, - events: events1.concat(events2) - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await explorationTabButton.click() - await report.getByTestId('report-end').scrollIntoViewIfNeeded() - - await expect(report.getByTestId('exploration-title')).toHaveText( - 'Explore user journeys' - ) - - await expect( - report.getByTestId('exploration-direction-forward') - ).toBeVisible() - - const firstColumn = report.getByTestId('exploration-column-0') - - const columnRow = (i: number) => - firstColumn.getByTestId('exploration-row').nth(i) - - const firstPage = [ - '/pageone00', - '/pageone01', - '/pageone02', - '/pageone03', - '/pageone04', - '/pageone05', - '/pageone06', - '/pageone07', - '/pageone08', - '/pageone09' - ] - - const secondPage = [ - '/pageone10', - '/pageone11', - '/pageone12', - '/pageone13', - '/pageone14', - '/pageone15', - '/pageone16', - '/pageone17', - '/pageone18', - '/pageone19' - ] - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(firstPage) - - await expect(columnRow(10)).toHaveText(/Show 10 more/) - await columnRow(10).click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(firstPage.concat(secondPage)) - - await expect(columnRow(20)).toHaveText(/Show 10 more/) - - await test.step('reset state when suggestions change', async () => { - await firstColumn.getByPlaceholder('Search').fill('pagetwo') - - const newFirstPage = [ - '/pagetwo00', - '/pagetwo01', - '/pagetwo02', - '/pagetwo03', - '/pagetwo04', - '/pagetwo05', - '/pagetwo06', - '/pagetwo07', - '/pagetwo08', - '/pagetwo09' - ] - - const newSecondPage = [ - '/pagetwo10', - '/pagetwo11', - '/pagetwo12', - '/pagetwo13', - '/pagetwo14', - '/pagetwo15', - '/pagetwo16', - '/pagetwo17', - '/pagetwo18', - '/pagetwo19' - ] - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(newFirstPage) - - await expect(columnRow(10)).toHaveText(/Show 10 more/) - await columnRow(10).click() - - await expect( - firstColumn.getByTestId('exploration-row').getByTestId('metric-label') - ).toHaveText(newFirstPage.concat(newSecondPage)) - - await expect(columnRow(20)).toHaveText(/Show 5 more/) - }) -}) diff --git a/e2e/tests/dashboard/filtering.spec.ts b/e2e/tests/dashboard/filtering.spec.ts deleted file mode 100644 index a106e02a79901b8cd1765cf3a9a0ae73edd0291b..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/filtering.spec.ts +++ /dev/null @@ -1,1013 +0,0 @@ -import { test, expect, Page } from '@playwright/test' -import { setupSite, populateStats, addPageviewGoal } from '../fixtures' -import { - filterButton, - filterItemButton, - applyFilterButton, - filterRow, - suggestedItem, - filterOperator, - filterOperatorOption -} from '../test-utils' - -test.describe('page filtering tests', () => { - const pageFilterButton = (page: Page) => filterItemButton(page, 'Page') - - test('filtering by page with detailed behavior test', async ({ - page, - request - }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', pathname: '/page1' }, - { name: 'pageview', pathname: '/page2' }, - { name: 'pageview', pathname: '/page3' }, - { name: 'pageview', pathname: '/other' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const pageFilterRow = filterRow(page, 'page') - const pageInput = page.getByPlaceholder('Select a Page') - - await filterButton(page).click() - await pageFilterButton(page).click() - - await expect( - page.getByRole('heading', { name: 'Filter by Page' }) - ).toBeVisible() - - await expect(applyFilterButton(page, { disabled: true })).toBeVisible() - await pageInput.fill('page') - - await expect(suggestedItem(pageFilterRow, '/page1')).toBeVisible() - await expect(suggestedItem(pageFilterRow, '/page2')).toBeVisible() - await expect(suggestedItem(pageFilterRow, '/page3')).toBeVisible() - await expect(applyFilterButton(page, { disabled: true })).toBeVisible() - - await pageInput.fill('/page1') - - await expect(suggestedItem(pageFilterRow, '/page1')).toBeVisible() - await expect(applyFilterButton(page, { disabled: true })).toBeVisible() - - await suggestedItem(pageFilterRow, '/page1').click() - await expect(applyFilterButton(page)).toBeVisible() - - await applyFilterButton(page).click() - - await expect(page).toHaveURL(/f=is,page,\/page1/) - - await expect( - page.getByRole('link', { name: 'Page is /page1' }) - ).toHaveAttribute('title', 'Edit filter: Page is /page1') - }) - - test('filtering by page using different operators', async ({ - page, - request - }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', pathname: '/page1' }, - { name: 'pageview', pathname: '/page2' }, - { name: 'pageview', pathname: '/page3' }, - { name: 'pageview', pathname: '/other' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const pageFilterRow = filterRow(page, 'page') - const pageInput = page.getByPlaceholder('Select a Page') - - await test.step("'is not' operator", async () => { - await filterButton(page).click() - await pageFilterButton(page).click() - - await filterOperator(pageFilterRow).click() - await filterOperatorOption(pageFilterRow, 'is not').click() - await pageInput.fill('page') - await suggestedItem(pageFilterRow, '/page1').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Page is not /page1' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is_not,page,\/page1/) - - await page - .getByRole('button', { name: 'Remove filter: Page is not /page1' }) - .click() - - await expect(page).not.toHaveURL(/f=is_not,page,\/page1/) - }) - - await test.step("'contains' operator", async () => { - await filterButton(page).click() - await pageFilterButton(page).click() - - await filterOperator(pageFilterRow).click() - await filterOperatorOption(pageFilterRow, 'contains').click() - await pageInput.fill('page1') - await suggestedItem(pageFilterRow, "Filter by 'page1'").click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Page contains page1' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=contains,page,page1/) - - await page - .getByRole('button', { name: 'Remove filter: Page contains page1' }) - .click() - - await expect(page).not.toHaveURL(/f=contains,page,page1/) - }) - - await test.step("'does not contain' operator", async () => { - await filterButton(page).click() - await pageFilterButton(page).click() - - await filterOperator(pageFilterRow).click() - await filterOperatorOption(pageFilterRow, 'does not contain').click() - await pageInput.fill('page1') - await suggestedItem(pageFilterRow, "Filter by 'page1'").click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Page does not contain page1' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=contains_not,page,page1/) - - await page - .getByRole('button', { - name: 'Remove filter: Page does not contain page1' - }) - .click() - - await expect(page).not.toHaveURL(/f=contains_not,page,page1/) - }) - - await test.step("'is' operator with multiple choices", async () => { - await filterButton(page).click() - await pageFilterButton(page).click() - - await pageInput.fill('page') - await suggestedItem(pageFilterRow, '/page2').click() - await pageInput.fill('page') - await suggestedItem(pageFilterRow, '/page3').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Page is /page2 or /page3' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,page,\/page2,\/page3/) - }) - }) - - test('filtering by entry page', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { user_id: 123, name: 'pageview', pathname: '/page1' }, - { user_id: 123, name: 'pageview', pathname: '/page2' }, - { user_id: 123, name: 'pageview', pathname: '/page3' }, - { user_id: 124, name: 'pageview', pathname: '/page1' }, - { user_id: 124, name: 'pageview', pathname: '/page2' }, - { name: 'pageview', pathname: '/page1' }, - { name: 'pageview', pathname: '/other' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const entryPageFilterRow = filterRow(page, 'entry_page') - const entryPageInput = page.getByPlaceholder('Select an Entry Page') - - await filterButton(page).click() - await pageFilterButton(page).click() - - await entryPageInput.fill('page') - await suggestedItem(entryPageFilterRow, '/page1').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Entry page is /page1' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,entry_page,\/page1/) - }) - - test('filtering by exit page', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { user_id: 123, name: 'pageview', pathname: '/page1' }, - { user_id: 123, name: 'pageview', pathname: '/page2' }, - { user_id: 123, name: 'pageview', pathname: '/page3' }, - { user_id: 124, name: 'pageview', pathname: '/page1' }, - { user_id: 124, name: 'pageview', pathname: '/page2' }, - { name: 'pageview', pathname: '/page1' }, - { name: 'pageview', pathname: '/other' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const exitPageFilterRow = filterRow(page, 'exit_page') - const exitPageInput = page.getByPlaceholder('Select an Exit Page') - - await filterButton(page).click() - await pageFilterButton(page).click() - - await exitPageInput.fill('page') - await suggestedItem(exitPageFilterRow, '/page3').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Exit page is /page3' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,exit_page,\/page3/) - }) -}) - -test.describe('hostname filtering tests', () => { - const hostnameFilterButton = (page: Page) => - filterItemButton(page, 'Hostname') - - test('filtering by hostname', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', hostname: 'one.example.com' }, - { name: 'pageview', hostname: 'two.example.com' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const hostnameFilterRow = filterRow(page, 'hostname') - const hostnameInput = page.getByPlaceholder('Select a Hostname') - - await filterButton(page).click() - await hostnameFilterButton(page).click() - - await hostnameInput.fill('one') - await suggestedItem(hostnameFilterRow, 'one.example.com').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Hostname is one.example.com' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,hostname,one.example.com/) - }) -}) - -test.describe('acquisition filtering tests', () => { - const sourceFilterButton = (page: Page) => filterItemButton(page, 'Source') - - test('filtering by source information', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', referrer_source: 'Google', utm_source: 'Adwords' }, - { name: 'pageview', referrer_source: 'Facebook', utm_source: 'fb' }, - { name: 'pageview', referrer: 'https://theguardian.com' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await test.step('filtering by source', async () => { - const sourceFilterRow = filterRow(page, 'source') - const sourceInput = page.getByPlaceholder('Select a Source') - - await filterButton(page).click() - await sourceFilterButton(page).click() - - await sourceInput.fill('goog') - await suggestedItem(sourceFilterRow, 'Google').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Source is Google' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,source,Google/) - - await page - .getByRole('button', { - name: 'Remove filter: Source is Google' - }) - .click() - - await expect(page).not.toHaveURL(/f=is,source,Google/) - }) - - await test.step('filtering by channel', async () => { - const channelFilterRow = filterRow(page, 'channel') - const channelInput = page.getByPlaceholder('Select a Channel') - - await filterButton(page).click() - await sourceFilterButton(page).click() - - await channelInput.fill('paid') - await suggestedItem(channelFilterRow, 'Paid Search').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Channel is Paid Search' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,channel,Paid%20Search/) - - await page - .getByRole('button', { - name: 'Remove filter: Channel is Paid Search' - }) - .click() - - await expect(page).not.toHaveURL(/f=is,channel,Paid%20Search/) - }) - - await test.step('filtering by referrer URL', async () => { - const referrerFilterRow = filterRow(page, 'referrer') - const referrerInput = page.getByPlaceholder('Select a Referrer URL') - - await filterButton(page).click() - await sourceFilterButton(page).click() - - await referrerInput.fill('guard') - await suggestedItem(referrerFilterRow, 'https://theguardian.com').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { - name: 'Referrer URL is https://theguardian.com' - }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,referrer,https:\/\/theguardian\.com/) - - await page - .getByRole('button', { - name: 'Remove filter: Referrer URL is https://theguardian.com' - }) - .click() - - await expect(page).not.toHaveURL( - /f=is,referrer,https:\/\/theguardian\.com/ - ) - }) - }) - - const utmTagsFilterButton = (page: Page) => filterItemButton(page, 'UTM tags') - - test('filtering by UTM tags', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', utm_medium: 'social' }, - { name: 'pageview', utm_source: 'producthunt' }, - { name: 'pageview', utm_campaign: 'ads' }, - { name: 'pageview', utm_term: 'post' }, - { name: 'pageview', utm_content: 'website' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await test.step('filtering by UTM medium', async () => { - const utmMediumFilterRow = filterRow(page, 'utm_medium') - const utmMediumInput = page.getByPlaceholder('Select a UTM Medium') - - await filterButton(page).click() - await utmTagsFilterButton(page).click() - - await utmMediumInput.fill('soc') - await suggestedItem(utmMediumFilterRow, 'social').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'UTM Medium is social' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,utm_medium,social/) - - await page - .getByRole('button', { - name: 'Remove filter: UTM Medium is social' - }) - .click() - - await expect(page).not.toHaveURL(/f=is,utm_medium,social/) - }) - - await test.step('filtering by UTM source', async () => { - const utmSourceFilterRow = filterRow(page, 'utm_source') - const utmSourceInput = page.getByPlaceholder('Select a UTM Source') - - await filterButton(page).click() - await utmTagsFilterButton(page).click() - - await utmSourceInput.fill('hunt') - await suggestedItem(utmSourceFilterRow, 'producthunt').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'UTM Source is producthunt' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,utm_source,producthunt/) - - await page - .getByRole('button', { - name: 'Remove filter: UTM Source is producthunt' - }) - .click() - - await expect(page).not.toHaveURL(/f=is,utm_source,producthunt/) - }) - - await test.step('filtering by UTM campaign', async () => { - const utmCampaignFilterRow = filterRow(page, 'utm_campaign') - const utmCampaignInput = page.getByPlaceholder('Select a UTM Campaign') - - await filterButton(page).click() - await utmTagsFilterButton(page).click() - - await utmCampaignInput.fill('ads') - await suggestedItem(utmCampaignFilterRow, 'ads').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'UTM Campaign is ads' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,utm_campaign,ads/) - - await page - .getByRole('button', { - name: 'Remove filter: UTM Campaign is ads' - }) - .click() - - await expect(page).not.toHaveURL(/f=is,utm_campaign,ads/) - }) - - await test.step('filtering by UTM term', async () => { - const utmTermFilterRow = filterRow(page, 'utm_term') - const utmTermInput = page.getByPlaceholder('Select a UTM Term') - - await filterButton(page).click() - await utmTagsFilterButton(page).click() - - await utmTermInput.fill('pos') - await suggestedItem(utmTermFilterRow, 'post').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'UTM Term is post' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,utm_term,post/) - - await page - .getByRole('button', { - name: 'Remove filter: UTM Term is post' - }) - .click() - - await expect(page).not.toHaveURL(/f=is,utm_term,post/) - }) - - await test.step('filtering by UTM content', async () => { - const utmContentFilterRow = filterRow(page, 'utm_content') - const utmContentInput = page.getByPlaceholder('Select a UTM Content') - - await filterButton(page).click() - await utmTagsFilterButton(page).click() - - await utmContentInput.fill('web') - await suggestedItem(utmContentFilterRow, 'website').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'UTM Content is website' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,utm_content,website/) - - await page - .getByRole('button', { - name: 'Remove filter: UTM Content is website' - }) - .click() - - await expect(page).not.toHaveURL(/f=is,utm_content,website/) - }) - }) -}) - -test.describe('location filtering tests', () => { - const locationFilterButton = (page: Page) => - filterItemButton(page, 'Location') - - test('filtering by location', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - name: 'pageview', - country_code: 'EE', - subdivision1_code: 'EE-37', - city_geoname_id: 588_409, - browser: 'Chrome' - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await test.step('filtering by country', async () => { - const countryFilterRow = filterRow(page, 'country') - const countryInput = page.getByPlaceholder('Select a Country') - - await filterButton(page).click() - await locationFilterButton(page).click() - - await countryInput.fill('est') - await suggestedItem(countryFilterRow, 'Estonia').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Country is Estonia' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,country,EE/) - }) - - await test.step('filtering by region', async () => { - const regionFilterRow = filterRow(page, 'region') - const regionInput = page.getByPlaceholder('Select a Region') - - await filterButton(page).click() - await locationFilterButton(page).click() - - await regionInput.fill('har') - await suggestedItem(regionFilterRow, 'Harjumaa').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Region is Harjumaa' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,region,EE-37/) - await expect(page).toHaveURL(/f=is,country,EE/) - }) - - await test.step('filtering by city', async () => { - const cityFilterRow = filterRow(page, 'city') - const cityInput = page.getByPlaceholder('Select a City') - const browserFilterRow = filterRow(page, 'browser') - const browserInput = page.getByPlaceholder('Select a Browser', { - exact: true - }) - - // Add a browser filter so city ends up as the 4th pill. This ensures it overflows - // into "See more" regardless of viewport width. - await filterButton(page).click() - await filterItemButton(page, 'Browser').click() - await browserInput.fill('chrom') - await suggestedItem(browserFilterRow, 'Chrome').click() - await applyFilterButton(page).click() - - await filterButton(page).click() - await locationFilterButton(page).click() - - await cityInput.click() - await suggestedItem(cityFilterRow, 'Tallinn').click() - - await applyFilterButton(page).click() - - await page.getByRole('button', { name: /See.*more/ }).click() - await expect( - page.getByRole('link', { name: 'City is Tallinn' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,city,588409/) - await expect(page).toHaveURL(/f=is,region,EE-37/) - await expect(page).toHaveURL(/f=is,country,EE/) - }) - }) -}) - -test.describe('screen size filtering tests', () => { - const screenSizeFilterButton = (page: Page) => - filterItemButton(page, 'Screen size') - - test('filtering by screen size', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', screen_size: 'Desktop' }, - { name: 'pageview', screen_size: 'Mobile' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const screenSizeFilterRow = filterRow(page, 'screen') - const screenSizeInput = page.getByPlaceholder('Select a Screen size') - - await filterButton(page).click() - await screenSizeFilterButton(page).click() - - // When testing via test.e2e.ui, it shows there are no - // suggestions found but there are 2 pageview in the top stats. - // When navigating live via `MIX_ENV=e2e_test iex -S mix`, - // all works fine. Puzzling. - await screenSizeInput.fill('mob') - await suggestedItem(screenSizeFilterRow, 'Mobile').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Screen size is Mobile' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,screen,Mobile/) - }) -}) - -test.describe('browser filtering tests', () => { - const browserFilterButton = (page: Page) => filterItemButton(page, 'Browser') - - test('filtering by browser', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', browser: 'Chrome', browser_version: '14.0.7' }, - { name: 'pageview', browser: 'Firefox', browser_version: '98' } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await test.step('filtering by browser type', async () => { - const browserFilterRow = filterRow(page, 'browser') - const browserInput = page.getByPlaceholder('Select a Browser', { - exact: true - }) - - await filterButton(page).click() - await browserFilterButton(page).click() - - await browserInput.fill('chrom') - await suggestedItem(browserFilterRow, 'Chrome').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Browser is Chrome' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,browser,Chrome/) - }) - - await test.step('filtering by browser version', async () => { - const browserVersionFilterRow = filterRow(page, 'browser_version') - const browserVersionInput = page.getByPlaceholder( - 'Select a Browser Version' - ) - - await filterButton(page).click() - await browserFilterButton(page).click() - - await browserVersionInput.fill('14') - await suggestedItem(browserVersionFilterRow, '14.0.7').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Browser version is 14.0.7' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,browser_version,14\.0\.7/) - await expect(page).toHaveURL(/f=is,browser,Chrome/) - }) - }) -}) - -test.describe('operating system filtering tests', () => { - const operatingSystemFilterButton = (page: Page) => - filterItemButton(page, 'Operating system') - - test('filtering by operating system', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - name: 'pageview', - operating_system: 'Windows', - operating_system_version: '11', - browser: 'Chrome', - browser_version: '14.0.7' - }, - { - name: 'pageview', - operating_system: 'MacOS', - operating_system_version: '10.15' - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await test.step('filtering by operating system type', async () => { - const operatingSystemFilterRow = filterRow(page, 'os') - const operatingSystemInput = page.getByPlaceholder( - 'Select an Operating system', - { exact: true } - ) - - await filterButton(page).click() - await operatingSystemFilterButton(page).click() - - // The same problem as in the case of screen size filter test. - await operatingSystemInput.click() - await suggestedItem(operatingSystemFilterRow, 'Windows').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Operating System is Windows' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,os,Windows/) - }) - - await test.step('filtering by operating system version', async () => { - const operatingSystemVersionFilterRow = filterRow(page, 'os_version') - const operatingSystemVersionInput = page.getByPlaceholder( - 'Select an Operating system version' - ) - const browserFilterRow = filterRow(page, 'browser') - const browserVersionFilterRow = filterRow(page, 'browser_version') - const browserInput = page.getByPlaceholder('Select a Browser', { - exact: true - }) - const browserVersionInput = page.getByPlaceholder( - 'Select a Browser Version' - ) - - // Add browser and browser version filters so OS version ends up as the 4th pill. - // This ensures it overflows into "See more" regardless of viewport width - await filterButton(page).click() - await filterItemButton(page, 'Browser').click() - await browserInput.fill('chrom') - await suggestedItem(browserFilterRow, 'Chrome').click() - await applyFilterButton(page).click() - - await filterButton(page).click() - await filterItemButton(page, 'Browser').click() - await browserVersionInput.fill('14') - await suggestedItem(browserVersionFilterRow, '14.0.7').click() - await applyFilterButton(page).click() - - await filterButton(page).click() - await operatingSystemFilterButton(page).click() - - await operatingSystemVersionInput.click() - await suggestedItem(operatingSystemVersionFilterRow, '11').click() - - await applyFilterButton(page).click() - - await page.getByRole('button', { name: /See.*more/ }).click() - await expect( - page.getByRole('link', { name: 'Operating system version is 11' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,os_version,11/) - await expect(page).toHaveURL(/f=is,os,Windows/) - }) - }) -}) - -test.describe('goal filtering tests', () => { - const goalFilterButton = (page: Page) => filterItemButton(page, 'Goal') - - test('filtering by goals', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', pathname: '/page1' }, - { name: 'pageview', pathname: '/page2' } - ] - }) - - await addPageviewGoal({ page, domain, pathname: '/page1' }) - await addPageviewGoal({ page, domain, pathname: '/page2' }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const goalFilterRow = filterRow(page, 'goal') - const goalInput = goalFilterRow.getByPlaceholder('Select a Goal') - - await test.step('single goal filter', async () => { - await filterButton(page).click() - await goalFilterButton(page).click() - - await goalInput.fill('page1') - await suggestedItem(goalFilterRow, 'Visit /page1').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Goal is Visit /page1' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,goal,Visit%20\/page1/) - }) - - const goalFilterRow2 = filterRow(page, 'goal1') - const goalInput2 = goalFilterRow2.getByPlaceholder('Select a Goal') - - await test.step('multiple goal filters', async () => { - await page.getByRole('link', { name: 'Goal is Visit /page1' }).click() - - await page.getByText('+ Add another').click() - - await filterOperator(goalFilterRow2).click() - await filterOperatorOption(goalFilterRow2, 'is not').click() - - await goalInput2.fill('page2') - await suggestedItem(goalFilterRow2, 'Visit /page2').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Goal is Visit /page1' }) - ).toBeVisible() - - await expect( - page.getByRole('link', { name: 'Goal is not Visit /page2' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,goal,Visit%20\/page1/) - await expect(page).toHaveURL(/f=has_not_done,goal,Visit%20\/page2/) - }) - }) -}) - -test.describe('property filtering tests', () => { - const propFilterButton = (page: Page) => - page.getByTestId('filtermenu').getByRole('link', { name: 'Property' }) - - test('filtering by properties', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - name: 'pageview', - 'meta.key': ['logged_in', 'browser_language'], - 'meta.value': ['false', 'en_US'] - }, - { - name: 'pageview', - 'meta.key': ['logged_in', 'browser_language'], - 'meta.value': ['true', 'es'] - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const propFilterRow = filterRow(page, 'props') - const propNameInput = propFilterRow.getByPlaceholder('Property') - const propValueInput = propFilterRow.getByPlaceholder('Value') - - await test.step('single property filter', async () => { - await filterButton(page).click() - await propFilterButton(page).click() - - await propNameInput.fill('logged') - await suggestedItem(propFilterRow, 'logged_in').click() - await propValueInput.fill('false') - await suggestedItem(propFilterRow, 'false').click() - - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'Property logged_in is false' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,props:logged_in,false/) - }) - - const propFilterRow2 = filterRow(page, 'props1') - const propNameInput2 = propFilterRow2.getByPlaceholder('Property') - const propValueInput2 = propFilterRow2.getByPlaceholder('Value') - - await test.step('multiple property filters', async () => { - await page - .getByRole('link', { name: 'Property logged_in is false' }) - .click() - - await page.getByText('+ Add another').click() - - await propNameInput2.fill('browser') - await suggestedItem(propFilterRow2, 'browser_language').click() - await filterOperator(propFilterRow2).click() - await filterOperatorOption(propFilterRow2, 'is not').click() - await propValueInput2.fill('US') - await suggestedItem(propFilterRow2, 'en_US').click() - - await applyFilterButton(page).click() - - await page - .getByRole('button', { name: 'See 1 more filter and actions' }) - .click() - - await expect( - page.getByRole('link', { - name: 'Property logged_in is false' - }) - ).toBeVisible() - - await expect( - page.getByRole('link', { - name: 'Property browser_language is not en_US' - }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,props:logged_in,false/) - await expect(page).toHaveURL(/f=is_not,props:browser_language,en_US/) - }) - }) -}) diff --git a/e2e/tests/dashboard/general.spec.ts b/e2e/tests/dashboard/general.spec.ts deleted file mode 100644 index a3b54cf6e67eacb8cc42ca7975791a136bf86d79..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/general.spec.ts +++ /dev/null @@ -1,176 +0,0 @@ -import { test, expect } from '@playwright/test' -import { - setupSite, - logout, - makeSitePublic, - populateStats, - createSharedLink -} from '../fixtures' - -test('dashboard renders for logged in user', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - await populateStats({ request, domain, events: [{ name: 'pageview' }] }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await expect(page).toHaveTitle(/Plausible/) - - await expect(page.getByRole('button', { name: domain })).toBeVisible() -}) - -test('dashboard renders for anonymous viewer', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - await makeSitePublic({ page, domain }) - await populateStats({ request, domain, events: [{ name: 'pageview' }] }) - await logout(page) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await expect(page).toHaveTitle(/Plausible/) - - await expect(page.getByTestId('site-switcher-static')).toContainText(domain) -}) - -test('dashboard renders via shared link', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - await populateStats({ request, domain, events: [{ name: 'pageview' }] }) - const link = await createSharedLink({ page, domain, name: 'public_link' }) - const passwordLink = await createSharedLink({ - page, - domain, - name: 'password_link', - password: 'secret' - }) - await logout(page) - - await test.step('public link', async () => { - await page.goto(link, { waitUntil: 'commit' }) - - await expect(page.getByTestId('site-switcher-static')).toContainText(domain) - - await expect(page.locator('#visitors')).toHaveText('1') - }) - - await test.step('password protected link', async () => { - await page.goto(passwordLink, { waitUntil: 'commit' }) - - await page.locator('input#password').fill('secret') - - await page.getByRole('button', { name: 'Continue' }).click() - - await expect(page.getByTestId('site-switcher-static')).toContainText(domain) - - await expect(page.locator('#visitors')).toHaveText('1') - }) -}) - -test('site switcher is not shown when viewing without being logged in', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - await makeSitePublic({ page, domain }) - await populateStats({ request, domain, events: [{ name: 'pageview' }] }) - await logout(page) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const siteSwitcherStatic = page.getByTestId('site-switcher-static') - await expect(siteSwitcherStatic).toContainText(domain) - await expect(siteSwitcherStatic).not.toHaveRole('button') - - await siteSwitcherStatic.click() - await expect(page.getByTestId('sitemenu')).not.toBeVisible() -}) - -test('dashboard renders with imported data', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - await populateStats({ - request, - domain, - events: [ - { name: 'pageview' }, - { - type: 'imported_visitors', - visitors: 3, - visits: 4, - pageviews: 6, - bounces: 1 - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await test.step('with imported data included', async () => { - await expect(page.locator('#visitors')).toHaveText('4') - await expect(page.locator('#visits')).toHaveText('5') - await expect(page.locator('#pageviews')).toHaveText('7') - await expect(page.locator('#bounce_rate')).toHaveText('40%') - }) - - await test.step('with imported data excluded', async () => { - await page.getByTestId('dashboard-options-menu').click() - await page.getByTestId('import-switch').click() - - await expect(page).toHaveURL(/with_imported=false/) - - await expect(page.locator('#visitors')).toHaveText('1') - await expect(page.locator('#visits')).toHaveText('1') - await expect(page.locator('#pageviews')).toHaveText('1') - await expect(page.locator('#bounce_rate')).toHaveText('100%') - }) -}) - -test('tab selection user preferences are preserved across reloads', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - await populateStats({ request, domain, events: [{ name: 'pageview' }] }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await page.getByRole('button', { name: 'Entry pages' }).click() - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - let currentTab = await page.evaluate( - (domain) => localStorage.getItem('pageTab__' + domain), - domain - ) - - expect(currentTab).toEqual('entryPages') - - await page.getByRole('button', { name: 'Exit pages' }).click() - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - currentTab = await page.evaluate( - (domain) => localStorage.getItem('pageTab__' + domain), - domain - ) - - expect(currentTab).toEqual('exitPages') -}) - -test('back navigation closes the modal', async ({ page, request, baseURL }) => { - const { domain } = await setupSite({ page, request }) - await populateStats({ - request, - domain, - events: [{ name: 'pageview' }] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await page.getByRole('button', { name: 'Filter' }).click() - - await page.getByRole('link', { name: 'Page' }).click() - - await expect(page).toHaveURL(baseURL + '/' + domain + '/filter/page') - - await page.goBack() - - await expect(page).toHaveURL(baseURL + '/' + domain) -}) diff --git a/e2e/tests/dashboard/main-graph.spec.ts b/e2e/tests/dashboard/main-graph.spec.ts deleted file mode 100644 index 2910961a3e7e4fee0077972d3893cd9c43ad53db..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/main-graph.spec.ts +++ /dev/null @@ -1,393 +0,0 @@ -import { test, expect, type Page } from '@playwright/test' -import { setupSite, populateStats, addGoal } from '../fixtures' - -type MetricCase = { - selector: string - expectedMetricLabel: string - expectedBuckets: BucketExpectation[] -} -type BucketExpectation = [ - bucketIndex: number, - timeLabel: string, - metricValue: string -] - -const MAIN_LINE = 'path.stroke-indigo-500[data-testid="graph-line"]' - -async function hoverAndReadTooltip(page: Page, bucketIndex: number) { - await page.getByTestId(`graph-dot-series-1-bucket-${bucketIndex}`).hover() - const tooltip = page.getByTestId('graph-tooltip') - await expect(tooltip).toBeVisible() - return { - metricLabel: await tooltip.getByTestId('metric-label').innerText(), - mainTimeLabel: await tooltip.getByTestId('main-time-label').innerText(), - mainValue: await tooltip.getByTestId('main-value').innerText() - } -} - -test.describe('plotting all metrics', () => { - // Time label rendering depends on locale. Set it to one with 24h clock - test.use({ locale: 'en-GB' }) - - test('default view', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 1, - name: 'pageview', - pathname: '/', - timestamp: '2021-01-01 00:00:00' - }, - { - user_id: 1, - name: 'pageview', - pathname: '/page1', - timestamp: '2021-01-01 00:10:00' - }, - { - user_id: 1, - name: 'pageview', - pathname: '/page2', - timestamp: '2021-01-01 00:20:00' - }, - { - user_id: 2, - name: 'pageview', - pathname: '/', - timestamp: '2021-01-01 05:00:00' - } - ] - }) - - await page.goto('/' + domain + '?period=day&date=2021-01-01', { - waitUntil: 'commit' - }) - - const graphLine = page.locator(MAIN_LINE) - await expect(graphLine).toBeVisible() - - const metricCases: MetricCase[] = [ - { - selector: '#visitors', - expectedMetricLabel: 'UNIQUE VISITORS', - expectedBuckets: [ - [0, '00:00', '1'], - [1, '01:00', '0'], - [5, '05:00', '1'] - ] - }, - { - selector: '#visits', - expectedMetricLabel: 'TOTAL VISITS', - expectedBuckets: [ - [0, '00:00', '1'], - [1, '01:00', '0'], - [5, '05:00', '1'] - ] - }, - { - selector: '#pageviews', - expectedMetricLabel: 'TOTAL PAGEVIEWS', - expectedBuckets: [ - [0, '00:00', '3'], - [1, '01:00', '0'], - [5, '05:00', '1'] - ] - }, - { - selector: '#views_per_visit', - expectedMetricLabel: 'VIEWS PER VISIT', - expectedBuckets: [ - [0, '00:00', '3'], - [1, '01:00', '0'], - [5, '05:00', '1'] - ] - }, - { - selector: '#bounce_rate', - expectedMetricLabel: 'BOUNCE RATE', - expectedBuckets: [ - [0, '00:00', '0%'], - [1, '01:00', '0%'], - [5, '05:00', '100%'] - ] - }, - { - selector: '#visit_duration', - expectedMetricLabel: 'VISIT DURATION', - expectedBuckets: [ - [0, '00:00', '20m 00s'], - [1, '01:00', '-'], - [5, '05:00', '0s'] - ] - } - ] - - for (const { - selector, - expectedMetricLabel, - expectedBuckets - } of metricCases) { - await test.step(expectedMetricLabel, async () => { - await page.locator(selector).click() - await expect(graphLine).toBeVisible() - - for (const [bucketIndex, timeLabel, metricValue] of expectedBuckets) { - const tooltipInfo = await hoverAndReadTooltip(page, bucketIndex) - expect(tooltipInfo.metricLabel).toBe(expectedMetricLabel) - expect( - tooltipInfo.mainTimeLabel, - `Wrong time label for ${expectedMetricLabel}` - ).toBe(timeLabel) - expect( - tooltipInfo.mainValue, - `Wrong metric value for ${expectedMetricLabel} in ${timeLabel}` - ).toBe(metricValue) - } - }) - } - }) - - test('goal-filtered view', async ({ page, request }) => { - const goalName = 'Signup' - const { domain } = await setupSite({ page, request }) - - await addGoal({ request, domain, params: { event_name: goalName } }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 1, - name: 'pageview', - timestamp: '2021-01-01 00:00:00' - }, - { - user_id: 2, - name: goalName, - timestamp: '2021-01-01 10:00:00' - }, - { - user_id: 2, - name: goalName, - timestamp: '2021-01-01 10:10:00' - }, - { - user_id: 4, - name: 'pageview', - timestamp: '2021-01-01 10:00:00' - }, - { - user_id: 5, - name: goalName, - timestamp: '2021-01-01 23:00:00' - } - ] - }) - - await page.goto( - '/' + domain + '?period=day&date=2021-01-01&f=is,goal,Signup', - { waitUntil: 'commit' } - ) - - const graphLine = page.locator(MAIN_LINE) - await expect(graphLine).toBeVisible() - - const metricCases: MetricCase[] = [ - { - selector: '#visitors', - expectedMetricLabel: 'UNIQUE CONVERSIONS', - expectedBuckets: [ - [0, '00:00', '0'], - [1, '01:00', '0'], - [10, '10:00', '1'], - [23, '23:00', '1'] - ] - }, - { - selector: '#events', - expectedMetricLabel: 'TOTAL CONVERSIONS', - expectedBuckets: [ - [0, '00:00', '0'], - [1, '01:00', '0'], - [10, '10:00', '2'], - [23, '23:00', '1'] - ] - }, - { - selector: '#conversion_rate', - expectedMetricLabel: 'CONVERSION RATE', - expectedBuckets: [ - [0, '00:00', '0%'], - [1, '01:00', '0%'], - [10, '10:00', '50%'], - [23, '23:00', '100%'] - ] - } - ] - - for (const { - selector, - expectedMetricLabel, - expectedBuckets - } of metricCases) { - await test.step(expectedMetricLabel, async () => { - await page.locator(selector).click() - await expect(graphLine).toBeVisible() - - for (const [bucketIndex, timeLabel, metricValue] of expectedBuckets) { - const tooltipInfo = await hoverAndReadTooltip(page, bucketIndex) - expect(tooltipInfo.metricLabel).toBe(expectedMetricLabel) - expect( - tooltipInfo.mainTimeLabel, - `Wrong time label for ${expectedMetricLabel}` - ).toBe(timeLabel) - expect( - tooltipInfo.mainValue, - `Wrong metric value for ${expectedMetricLabel} in ${timeLabel}` - ).toBe(metricValue) - } - }) - } - }) - - test('page-filtered view', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { - user_id: 1, - name: 'pageview', - pathname: '/one', - timestamp: '2021-01-01 00:00:00' - }, - { - user_id: 2, - name: 'pageview', - pathname: '/one', - timestamp: '2021-01-01 05:30:00' - }, - { - user_id: 2, - name: 'engagement', - pathname: '/one', - scroll_depth: 90, - engagement_time: 20 * 60 * 1000, - timestamp: '2021-01-01 05:50:00' - }, - { - user_id: 2, - name: 'pageview', - pathname: '/two', - timestamp: '2021-01-01 05:50:00' - }, - { - user_id: 3, - pathname: '/two', - name: 'pageview', - timestamp: '2021-01-01 00:00:00' - } - ] - }) - - await page.goto( - '/' + domain + '?period=day&date=2021-01-01&f=is,page,/one', - { waitUntil: 'commit' } - ) - - const graphLine = page.locator(MAIN_LINE) - await expect(graphLine).toBeVisible() - - const metricCases: MetricCase[] = [ - { - selector: '#visitors', - expectedMetricLabel: 'UNIQUE VISITORS', - expectedBuckets: [ - [0, '00:00', '1'], - [5, '05:00', '1'], - [10, '10:00', '0'] - ] - }, - { - selector: '#visits', - expectedMetricLabel: 'TOTAL VISITS', - expectedBuckets: [ - [0, '00:00', '1'], - [5, '05:00', '1'], - [10, '10:00', '0'] - ] - }, - { - selector: '#pageviews', - expectedMetricLabel: 'TOTAL PAGEVIEWS', - expectedBuckets: [ - [0, '00:00', '1'], - [5, '05:00', '1'], - [10, '10:00', '0'] - ] - }, - { - selector: '#bounce_rate', - expectedMetricLabel: 'BOUNCE RATE', - expectedBuckets: [ - [0, '00:00', '100%'], - [5, '05:00', '0%'], - [10, '10:00', '0%'] - ] - }, - { - selector: '#scroll_depth', - expectedMetricLabel: 'SCROLL DEPTH', - expectedBuckets: [ - [0, '00:00', '-'], - [5, '05:00', '90%'], - [10, '10:00', '-'] - ] - }, - { - selector: '#time_on_page', - expectedMetricLabel: 'TIME ON PAGE', - expectedBuckets: [ - [0, '00:00', '-'], - [5, '05:00', '20m 00s'], - [10, '10:00', '-'] - ] - } - ] - - for (const { - selector, - expectedMetricLabel, - expectedBuckets - } of metricCases) { - await test.step(expectedMetricLabel, async () => { - await page.locator(selector).click() - await expect( - graphLine, - `Graph not visible after clicking ${selector}` - ).toBeVisible() - - for (const [bucketIndex, timeLabel, metricValue] of expectedBuckets) { - const tooltipInfo = await hoverAndReadTooltip(page, bucketIndex) - expect(tooltipInfo.metricLabel).toBe(expectedMetricLabel) - expect( - tooltipInfo.mainTimeLabel, - `Wrong time label for ${expectedMetricLabel}` - ).toBe(timeLabel) - expect( - tooltipInfo.mainValue, - `Wrong metric value for ${expectedMetricLabel} in ${timeLabel}` - ).toBe(metricValue) - } - }) - } - }) -}) diff --git a/e2e/tests/dashboard/segments.spec.ts b/e2e/tests/dashboard/segments.spec.ts deleted file mode 100644 index 4a5699ca0ed1258cae475ba935fb3ace1bf4bbf2..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/segments.spec.ts +++ /dev/null @@ -1,427 +0,0 @@ -import { test, expect, APIRequestContext, Page } from '@playwright/test' -import { setupSite, populateStats } from '../fixtures' -import { - filterButton, - filterItemButton, - applyFilterButton, - filterRow, - suggestedItem, - modal -} from '../test-utils' - -const setupSiteAndStats = async ({ - page, - request -}: { - page: Page - request: APIRequestContext -}) => { - const context = await setupSite({ page, request }) - - await populateStats({ - request, - domain: context.domain, - events: [ - { - name: 'pageview', - referrer_source: 'Google', - utm_source: 'Adwords', - utm_medium: 'email', - utm_campaign: 'promo' - }, - { name: 'pageview', referrer_source: 'Facebook', utm_source: 'fb' }, - { name: 'pageview', referrer: 'https://theguardian.com' } - ] - }) - - return context -} - -const segmentMenu = (page: Page) => page.getByTestId('segment-menu') - -const sourceFilterButton = (page: Page) => filterItemButton(page, 'Source') -const utmTagsFilterButton = (page: Page) => filterItemButton(page, 'UTM tags') - -const addSourceFilter = async (page: Page, sourceLabel: string) => { - const sourceFilterRow = filterRow(page, 'source') - const sourceInput = page.getByPlaceholder('Select a Source') - - await filterButton(page).click() - await sourceFilterButton(page).click() - - await sourceInput.click() - await suggestedItem(sourceFilterRow, sourceLabel).click() - - await applyFilterButton(page).click() - - const url = new RegExp(`f=is,source,${sourceLabel}`) - await expect(page).toHaveURL(url) -} - -const addUtmSourceFilter = async (page: Page, utmSource: string) => { - const utmSourceFilterRow = filterRow(page, 'utm_source') - const utmSourceInput = page.getByPlaceholder('Select a UTM Source') - - await filterButton(page).click() - await utmTagsFilterButton(page).click() - - await utmSourceInput.click() - await suggestedItem(utmSourceFilterRow, utmSource).click() - - await applyFilterButton(page).click() - - const url = new RegExp(`f=is,utm_source,${utmSource}`) - await expect(page).toHaveURL(url) -} - -const createPersonalSegment = async (page: Page, name: string) => { - await page.getByRole('button', { name: 'See actions' }).click() - - await page.getByRole('link', { name: 'Save as segment' }).click() - - await modal(page).getByLabel('Segment name').fill(name) - - await modal(page).getByRole('button', { name: 'Save' }).click() - - await expect(page).toHaveURL(/f=is,segment,[0-9]+/) -} - -test('saving a segment', async ({ page, request }) => { - const { domain } = await setupSiteAndStats({ page, request }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await test.step('creating personal segment using defaults', async () => { - await addSourceFilter(page, 'Facebook') - - await page.getByRole('button', { name: 'See actions' }).click() - - await page.getByRole('link', { name: 'Save as segment' }).click() - - await expect( - modal(page).getByRole('heading', { name: 'Create segment' }) - ).toBeVisible() - - await expect( - modal(page).getByPlaceholder('Source is Facebook') - ).toHaveAccessibleName('Segment name') - - await expect( - modal(page).getByRole('radio', { name: 'Personal segment' }) - ).toBeChecked() - - await modal(page).getByRole('button', { name: 'Save' }).click() - - await expect(page).toHaveURL(/f=is,segment,[0-9]+/) - - await expect( - page.getByRole('link', { name: 'Segment is Source is Facebook' }) - ).toBeVisible() - - await page - .getByRole('button', { - name: 'Remove filter: Segment is Source is Facebook' - }) - .click() - - await filterButton(page).click() - - await expect(filterItemButton(page, 'Source is Facebook')).toBeVisible() - - await filterButton(page).click() - }) - - await test.step('creating a personal segment with a custom name', async () => { - await addSourceFilter(page, 'Google') - - await page.getByRole('button', { name: 'See actions' }).click() - - await page.getByRole('link', { name: 'Save as segment' }).click() - - await expect( - modal(page).getByRole('heading', { name: 'Create segment' }) - ).toBeVisible() - - await modal(page).getByLabel('Segment name').fill('Traffic from Google') - - await expect( - modal(page).getByRole('radio', { name: 'Personal segment' }) - ).toBeChecked() - - await modal(page).getByRole('button', { name: 'Save' }).click() - - await expect(page).toHaveURL(/f=is,segment,[0-9]+/) - - await expect( - page.getByRole('link', { name: 'Segment is Traffic from Google' }) - ).toBeVisible() - - await page - .getByRole('button', { - name: 'Remove filter: Segment is Traffic from Google' - }) - .click() - - await filterButton(page).click() - - await expect(filterItemButton(page, 'Traffic from Google')).toBeVisible() - await expect(filterItemButton(page, 'Source is Facebook')).toBeVisible() - - await filterButton(page).click() - }) - - await test.step('creating a site segment from more than one filter', async () => { - await addSourceFilter(page, 'Google') - await addUtmSourceFilter(page, 'Adwords') - - await page.getByRole('button', { name: 'See actions' }).click() - - await page.getByRole('link', { name: 'Save as segment' }).click() - - await expect( - modal(page).getByRole('heading', { name: 'Create segment' }) - ).toBeVisible() - - await expect( - modal(page).getByPlaceholder('UTM source is Adwords and Source is Google') - ).toHaveAccessibleName('Segment name') - - await modal(page).getByLabel('Segment name').fill('Ads from Google') - - const siteSegmentRadio = modal(page).getByRole('radio', { - name: 'Site segment' - }) - - await siteSegmentRadio.click() - - await expect(siteSegmentRadio).toBeChecked() - - await modal(page).getByRole('button', { name: 'Save' }).click() - - await expect(page).toHaveURL(/f=is,segment,[0-9]+/) - - await expect( - page.getByRole('link', { name: 'Segment is Ads from Google' }) - ).toBeVisible() - - await page - .getByRole('button', { - name: 'Remove filter: Segment is Ads from Google' - }) - .click() - - await filterButton(page).click() - - await expect(filterItemButton(page, 'Ads from Google')).toBeVisible() - await expect(filterItemButton(page, 'Traffic from Google')).toBeVisible() - await expect(filterItemButton(page, 'Source is Facebook')).toBeVisible() - - await filterButton(page).click() - }) -}) - -test('creating a segment from a combination of segment and a filter is not allowed', async ({ - page, - request -}) => { - const { domain } = await setupSiteAndStats({ page, request }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await addSourceFilter(page, 'Google') - await createPersonalSegment(page, 'Traffic from Google') - await addUtmSourceFilter(page, 'Adwords') - - // Add UTM medium and campaign filters so Segment ends up as the 4th pill. - // This ensures it overflows into "See more" regardless of viewport width - const utmMediumFilterRow = filterRow(page, 'utm_medium') - const utmCampaignFilterRow = filterRow(page, 'utm_campaign') - - await filterButton(page).click() - await utmTagsFilterButton(page).click() - await page.getByPlaceholder('Select a UTM Medium').click() - await suggestedItem(utmMediumFilterRow, 'email').click() - await applyFilterButton(page).click() - - await filterButton(page).click() - await utmTagsFilterButton(page).click() - await page.getByPlaceholder('Select a UTM Campaign').click() - await suggestedItem(utmCampaignFilterRow, 'promo').click() - await applyFilterButton(page).click() - - await expect( - page.getByRole('link', { name: 'UTM source is Adwords' }) - ).toBeVisible() - - await page.getByRole('button', { name: /See.*more/ }).click() - await expect( - page.getByRole('link', { name: 'Segment is Traffic from Google' }) - ).toBeVisible() - - await expect(page).toHaveURL(/f=is,segment,[0-9]+/) - await expect(page).toHaveURL(/f=is,utm_source,Adwords/) - - await expect( - modal(page).getByRole('heading', { name: 'Create segment' }) - ).toBeHidden() -}) - -test('editing an existing segment', async ({ page, request }) => { - const { domain } = await setupSiteAndStats({ page, request }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await addSourceFilter(page, 'Google') - await createPersonalSegment(page, 'Traffic from Google') - - await page - .getByRole('link', { name: 'Segment is Traffic from Google' }) - .click() - - await expect( - modal(page).getByRole('heading', { name: 'Traffic from Google' }) - ).toBeVisible() - - await modal(page).getByRole('link', { name: 'Edit segment' }).click() - - await addUtmSourceFilter(page, 'Adwords') - - await page.getByRole('link', { name: 'Update segment' }).click() - - await expect( - modal(page).getByRole('heading', { name: 'Update segment' }) - ).toBeVisible() - - await modal(page).getByLabel('Segment name').fill('Ads from Google') - - await modal(page).getByRole('button', { name: 'Save' }).click() - - await page.getByRole('link', { name: 'Segment is Ads from Google' }).click() - - await expect(modal(page)).toContainText('UTM source is Adwords') - await expect(modal(page)).toContainText('Source is Google') - - await modal(page).getByRole('button', { name: 'Remove filter' }).click() - - await expect(page).not.toHaveURL(/f=is,segment,[0-9]+/) - - await filterButton(page).click() - - await expect(filterItemButton(page, 'Ads from Google')).toBeVisible() - await expect(filterItemButton(page, 'Traffic from Google')).toBeHidden() -}) - -test('saving edited segment as new', async ({ page, request }) => { - const { domain } = await setupSiteAndStats({ page, request }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await addSourceFilter(page, 'Google') - await createPersonalSegment(page, 'Traffic from Google') - - await page - .getByRole('link', { name: 'Segment is Traffic from Google' }) - .click() - - await modal(page).getByRole('link', { name: 'Edit segment' }).click() - - await addUtmSourceFilter(page, 'Adwords') - - await segmentMenu(page).click() - - await page.getByRole('link', { name: 'Save as a new segment' }).click() - - await expect( - modal(page).getByRole('heading', { name: 'Create segment' }) - ).toBeVisible() - - await expect(modal(page).getByLabel('Segment name')).toHaveValue( - 'Copy of Traffic from Google' - ) - - await modal(page).getByLabel('Segment name').fill('Ads from Google') - - await modal(page).getByRole('button', { name: 'Save' }).click() - - await page.getByRole('link', { name: 'Segment is Ads from Google' }).click() - - await expect(modal(page)).toContainText('UTM source is Adwords') - await expect(modal(page)).toContainText('Source is Google') - - await modal(page).getByRole('button', { name: 'Remove filter' }).click() - - await filterButton(page).click() - - await expect(filterItemButton(page, 'Ads from Google')).toBeVisible() - await expect(filterItemButton(page, 'Traffic from Google')).toBeVisible() - - await filterItemButton(page, 'Traffic from Google').click() - - await page - .getByRole('link', { name: 'Segment is Traffic from Google' }) - .click() - - await expect(modal(page)).not.toContainText('UTM source is Adwords') - await expect(modal(page)).toContainText('Source is Google') -}) - -test('deleting segment', async ({ page, request }) => { - const { domain } = await setupSiteAndStats({ page, request }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await addSourceFilter(page, 'Google') - await createPersonalSegment(page, 'Traffic from Google') - - await page - .getByRole('link', { name: 'Segment is Traffic from Google' }) - .click() - - await modal(page).getByRole('link', { name: 'Edit segment' }).click() - - await segmentMenu(page).click() - - await page.getByRole('link', { name: 'Delete segment' }).click() - - await expect( - modal(page).getByRole('heading', { name: 'Delete personal segment' }) - ).toBeVisible() - - await modal(page).getByRole('button', { name: 'Delete' }).click() - - await filterButton(page).click() - - await expect(filterItemButton(page, 'Traffic from Google')).toBeHidden() -}) - -test('closing edited segment without saving', async ({ page, request }) => { - const { domain } = await setupSiteAndStats({ page, request }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await addSourceFilter(page, 'Google') - await createPersonalSegment(page, 'Traffic from Google') - - await page - .getByRole('link', { name: 'Segment is Traffic from Google' }) - .click() - - await modal(page).getByRole('link', { name: 'Edit segment' }).click() - - await addUtmSourceFilter(page, 'Adwords') - - await segmentMenu(page).click() - - await page.getByRole('link', { name: 'Close without saving' }).click() - - await filterButton(page).click() - - await filterItemButton(page, 'Traffic from Google').click() - - await page - .getByRole('link', { name: 'Segment is Traffic from Google' }) - .click() - - await expect(modal(page)).not.toContainText('UTM source is Adwords') - await expect(modal(page)).toContainText('Source is Google') -}) diff --git a/e2e/tests/dashboard/team-setup.spec.ts b/e2e/tests/dashboard/team-setup.spec.ts deleted file mode 100644 index f39b93397a46b65ea12d313790e4412db2581bea..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/team-setup.spec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { test, expect } from '@playwright/test' -import { setupSite } from '../fixtures' -import { expectLiveViewConnected } from '../test-utils' - -test('submitting team name via Enter key does not crash', async ({ - page, - request -}) => { - await setupSite({ page, request }) - await page.goto('/team/setup', { waitUntil: 'commit' }) - - await expectLiveViewConnected(page) - - await expect(page.getByRole('button', { name: 'Create Team' })).toBeVisible() - - const nameInput = page.locator('input[name="team[name]"]') - - await nameInput.clear() - await nameInput.fill('My New Team') - - await nameInput.press('Enter') - - await expect(nameInput).toHaveValue('My New Team') - - // the form had no phx-submit handler and plain HTTP POST fallback was made - await page.getByRole('button', { name: 'Create Team' }).click() - - await expect(page).toHaveURL(/\/settings\/team\/general/) - - await expectLiveViewConnected(page) - - const nameInput2 = page.locator('input[name="team[name]"]') - - await expect(nameInput2).toHaveValue('My New Team') -}) diff --git a/e2e/tests/dashboard/top-stats.spec.ts b/e2e/tests/dashboard/top-stats.spec.ts deleted file mode 100644 index 78c8dadccb08f83bc40cc030bea605225a7daaa1..0000000000000000000000000000000000000000 --- a/e2e/tests/dashboard/top-stats.spec.ts +++ /dev/null @@ -1,458 +0,0 @@ -import { test, expect } from '@playwright/test' -import { ChronoUnit, DateTimeFormatter } from '@js-joda/core' -import { Locale } from '@js-joda/locale_en-us' -import { currentTime, timeToISO } from '../test-utils' -import { setupSite, populateStats, StatsEntry } from '../fixtures' -import { randomID } from '../test-utils' - -test('site switcher allows switching between different sites', async ({ - page, - request -}) => { - const suffix = randomID() - // domain name matters in this test, the sites are sorted alphabetically in the dropdown - const { domain: domain1, user } = await setupSite({ - page, - request, - domain: `a-${suffix}.example.com` - }) - const { domain: domain2 } = await setupSite({ - page, - request, - user, - domain: `b-${suffix}.example.com` - }) - const { domain: domain3 } = await setupSite({ - page, - request, - user, - domain: `c-${suffix}.example.com` - }) - - await populateStats({ - request, - domain: domain1, - events: [{ name: 'pageview' }] - }) - await populateStats({ - request, - domain: domain2, - events: [{ name: 'pageview' }] - }) - await populateStats({ - request, - domain: domain3, - events: [{ name: 'pageview' }] - }) - - await page.goto('/' + domain1, { waitUntil: 'commit' }) - - const switcherButton = page.getByTestId('site-switcher-current-site') - - await expect(switcherButton).toHaveText(domain1) - - await switcherButton.click() - - const domain1Link = page.getByRole('link', { name: domain1 }) - const domain2Link = page.getByRole('link', { name: domain2 }) - const domain3Link = page.getByRole('link', { name: domain3 }) - - await expect(domain1Link).toBeVisible() - await expect(domain1Link.locator('kbd')).toHaveText('1') - await expect(domain2Link).toBeVisible() - await expect(domain2Link.locator('kbd')).toHaveText('2') - await expect(domain3Link).toBeVisible() - await expect(domain3Link.locator('kbd')).toHaveText('3') - - await page.getByRole('link', { name: domain2 }).click() - - await expect(page).toHaveURL(`/${domain2}`) - await expect(switcherButton).toHaveText(domain2) - - // make sure sites are loaded - await switcherButton.click() - await expect(domain3Link).toBeVisible() - // keybind should work when dropdown closed - await switcherButton.click() - await page.keyboard.press('3') - - await expect(page).toHaveURL(`/${domain3}`) - await expect(switcherButton).toHaveText(domain3) - - // make sure sites are loaded - await switcherButton.click() - await expect(domain1Link).toBeVisible() - // keybind should work when dropdown open - await page.keyboard.press('1') - - await expect(page).toHaveURL(`/${domain1}`) - await expect(switcherButton).toHaveText(domain1) -}) - -test('current visitors counter shows number of active visitors', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', timestamp: { minutesAgo: 2 } }, - { name: 'pageview', timestamp: { minutesAgo: 3 } }, - { name: 'pageview', timestamp: { minutesAgo: 4 } }, - { name: 'pageview', timestamp: { minutesAgo: 4 } }, - { name: 'pageview', timestamp: { minutesAgo: 20 } }, - { name: 'pageview', timestamp: { minutesAgo: 50 } } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await expect(page.getByText('4 current visitors')).toBeVisible() -}) - -test('top stats show relevant metrics', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - await populateStats({ - request, - domain, - events: [ - { - user_id: 123, - name: 'pageview', - pathname: '/', - timestamp: { minutesAgo: 120 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/', - timestamp: { minutesAgo: 60 } - }, - { - user_id: 123, - name: 'pageview', - pathname: '/page1', - timestamp: { minutesAgo: 50 } - }, - { - user_id: 456, - name: 'pageview', - pathname: '/', - timestamp: { minutesAgo: 80 } - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await expect(page).toHaveTitle(/Plausible/) - - await expect(page.getByRole('button', { name: domain })).toBeVisible() - - await expect(page.locator('#visitors')).toHaveText('2') - await expect(page.locator('#visits')).toHaveText('3') - await expect(page.locator('#pageviews')).toHaveText('4') - await expect(page.locator('#views_per_visit')).toHaveText('1.33') - await expect(page.locator('#bounce_rate')).toHaveText('67%') - await expect(page.locator('#visit_duration')).toHaveText('3m 20s') -}) - -test('different time ranges are supported', async ({ page, request }) => { - const now = currentTime() - const startOfDay = now.truncatedTo(ChronoUnit.DAYS) - const startOfYesterday = startOfDay.minusDays(1) - const startOfMonth = startOfDay.withDayOfMonth(1) - const startOfLastMonth = startOfMonth.minusMonths(1) - const startOfYear = now.withDayOfYear(1) - - const expectedCounts = [ - { from: startOfDay, to: now, key: 'd', value: 0 }, - { from: startOfYesterday, to: startOfDay, key: 'e', value: 0 }, - { from: now.minusMinutes(30), to: now, key: 'r', value: 0 }, - { from: now.minusHours(24), to: now, key: 'h', value: 0 }, - { from: startOfDay.minusDays(7), to: startOfDay, key: 'w', value: 0 }, - { from: startOfDay.minusDays(28), to: startOfDay, key: 'f', value: 0 }, - { from: startOfDay.minusDays(91), to: startOfDay, key: 'n', value: 0 }, - { from: startOfMonth, to: now, key: 'm', value: 0 }, - { from: startOfLastMonth, to: startOfMonth, key: 'p', value: 0 }, - { from: startOfYear, to: now, key: 'y', value: 0 }, - { from: startOfMonth.minusMonths(12), to: startOfMonth, key: 'l', value: 0 } - ] - - const eventTimes = [ - now.minusMinutes(20), - now.minusHours(12), - now.minusHours(26), - now.minusHours(30), - now.minusHours(35), - now.minusDays(5), - now.minusDays(17), - now.minusDays(54), - now.minusDays(120), - now.minusDays(720) - ] - - const events: StatsEntry[] = [] - - eventTimes.forEach((ts, idx) => { - expectedCounts.forEach((expected) => { - if (ts.compareTo(expected.from) >= 0 && ts.compareTo(expected.to) < 0) { - expected.value += 1 - } - }) - - events.push({ - user_id: idx + 1, - name: 'pageview', - timestamp: timeToISO(ts) - }) - }) - - const { domain } = await setupSite({ page, request }) - - await populateStats({ request, domain, events }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - await expect(page.getByRole('button', { name: domain })).toBeVisible() - - await expect(page.getByTestId('current-query-period')).toHaveText( - 'Last 28 days' - ) - - const visitors = page.locator('#visitors') - - for (const expected of expectedCounts) { - await page.keyboard.press(expected.key) - await expect(visitors).toHaveText(`${expected.value}`) - } - - // Realtime - await page.keyboard.press('r') - await expect(visitors).toHaveText('1') - - // All time - await page.keyboard.press('a') - await expect(visitors).toHaveText(`${events.length}`) -}) - -test('different graph time intervals are available', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', timestamp: { minutesAgo: 60 } }, - { name: 'pageview', timestamp: { daysAgo: 5 } } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await expect(page.getByTestId('current-query-period')).toHaveText( - 'Last 28 days' - ) - - const optionsMenu = page.getByTestId('dashboard-options-menu') - - await optionsMenu.click() - const graphIntervalSegments = page.getByTestId('graph-interval') - await expect(page.getByTestId('current-graph-interval')).toHaveText('Days') - await expect(graphIntervalSegments).toHaveCount(1) - await expect(graphIntervalSegments.filter({ hasText: 'Weeks' })).toBeVisible() - await optionsMenu.click() - - await page.getByTestId('current-query-period').click() - await page - .getByTestId('query-period-picker') - .getByRole('link', { name: 'Today' }) - .click() - - await optionsMenu.click() - await expect(page.getByTestId('current-graph-interval')).toHaveText('Hours') - await expect(graphIntervalSegments).toHaveCount(1) - await graphIntervalSegments.filter({ hasText: 'Min' }).click() - await expect(page.getByTestId('current-graph-interval')).toHaveText('Min') -}) - -test('navigating dates previous next time periods', async ({ - page, - request -}) => { - const { domain } = await setupSite({ page, request }) - - const now = currentTime() - const startOfDay = now.truncatedTo(ChronoUnit.DAYS) - const startOfYesterday = startOfDay.minusDays(1) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', timestamp: timeToISO(now) }, - { name: 'pageview', timestamp: timeToISO(startOfDay.minusHours(3)) }, - { name: 'pageview', timestamp: timeToISO(startOfDay.minusHours(4)) }, - { - name: 'pageview', - timestamp: timeToISO(startOfYesterday.minusHours(3)) - }, - { - name: 'pageview', - timestamp: timeToISO(startOfYesterday.minusHours(4)) - }, - { - name: 'pageview', - timestamp: timeToISO(startOfYesterday.minusHours(5)) - } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const currentQueryPeriod = page.getByTestId('current-query-period') - const queryPeriodPicker = page.getByTestId('query-period-picker') - const backButton = queryPeriodPicker.getByTestId('period-move-back') - const forwardButton = queryPeriodPicker.getByTestId('period-move-forward') - const visitors = page.locator('#visitors') - - await currentQueryPeriod.click() - await queryPeriodPicker.getByRole('link', { name: 'Today' }).click() - - await expect(currentQueryPeriod).toHaveText('Today') - await expect(visitors).toHaveText('1') - await expect(backButton).not.toHaveCSS('cursor', 'not-allowed') - await expect(forwardButton).toHaveCSS('cursor', 'not-allowed') - - await backButton.click() - - const yesterdayLabel = startOfYesterday.format( - DateTimeFormatter.ofPattern('EEE, dd MMM').withLocale(Locale.ENGLISH) - ) - - await expect(currentQueryPeriod).toHaveText(yesterdayLabel) - await expect(backButton).not.toHaveCSS('cursor', 'not-allowed') - await expect(forwardButton).not.toHaveCSS('cursor', 'not-allowed') - await expect(visitors).toHaveText('2') - - await backButton.click() - - const beforeYesterdayLabel = startOfYesterday - .minusDays(1) - .format( - DateTimeFormatter.ofPattern('EEE, dd MMM').withLocale(Locale.ENGLISH) - ) - - await expect(currentQueryPeriod).toHaveText(beforeYesterdayLabel) - await expect(backButton).toHaveCSS('cursor', 'not-allowed') - await expect(forwardButton).not.toHaveCSS('cursor', 'not-allowed') - await expect(visitors).toHaveText('3') - - await forwardButton.click() - - await expect(currentQueryPeriod).toHaveText(yesterdayLabel) - await expect(backButton).not.toHaveCSS('cursor', 'not-allowed') - await expect(forwardButton).not.toHaveCSS('cursor', 'not-allowed') - await expect(visitors).toHaveText('2') - - await forwardButton.click() - - await expect(currentQueryPeriod).toHaveText('Today') - await expect(backButton).not.toHaveCSS('cursor', 'not-allowed') - await expect(forwardButton).toHaveCSS('cursor', 'not-allowed') - await expect(visitors).toHaveText('1') -}) - -test('selecting a custom date range', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - // NOTE: As the calendar renders contents dynamically, we cannot tell for sure - // whether the day before today will be visible without switching month. - // To make things simpler, we only test a single-day range of today. - - const now = currentTime() - const startOfDay = now.truncatedTo(ChronoUnit.DAYS) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', timestamp: timeToISO(now) }, - { name: 'pageview', timestamp: timeToISO(startOfDay.minusDays(3)) } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - const currentQueryPeriod = page.getByTestId('current-query-period') - const queryPeriodPicker = page.getByTestId('query-period-picker') - const visitors = page.locator('#visitors') - - currentQueryPeriod.click() - await queryPeriodPicker.getByRole('link', { name: 'Custom range' }).click() - - const todayLabel = startOfDay.format( - DateTimeFormatter.ofPattern('MMMM d, YYYY').withLocale(Locale.ENGLISH) - ) - - await page.getByLabel(todayLabel).click() - await page.getByLabel(todayLabel).click() - - await expect(currentQueryPeriod).toHaveText('Today') - await expect(visitors).toHaveText('1') -}) - -test('comparing stats over time is supported', async ({ page, request }) => { - const { domain } = await setupSite({ page, request }) - - await populateStats({ - request, - domain, - events: [ - { name: 'pageview', timestamp: { daysAgo: 2 } }, - { name: 'pageview', timestamp: { daysAgo: 4 } }, - { name: 'pageview', timestamp: { daysAgo: 30 } }, - { name: 'pageview', timestamp: { daysAgo: 30 } }, - { name: 'pageview', timestamp: { daysAgo: 31 } }, - { name: 'pageview', timestamp: { daysAgo: 370 } } - ] - }) - - await page.goto('/' + domain, { waitUntil: 'commit' }) - - await expect(page.getByTestId('current-query-period')).toHaveText( - 'Last 28 days' - ) - - await page.getByTestId('query-period-picker').click() - await page - .getByTestId('query-period-picker') - .getByRole('link', { name: 'Compare' }) - .click() - - const previousPeriodButton = page.getByRole('button', { - name: 'Previous period' - }) - - await expect(previousPeriodButton).toBeVisible() - - const visitors = page.locator('#visitors') - const previousVisitors = page.locator('#previous-visitors') - - await expect(visitors).toHaveText('2') - await expect(previousVisitors).toHaveText('3') - - await previousPeriodButton.click() - await page.getByRole('link', { name: 'Year over year' }).click() - - await expect( - page.getByRole('button', { name: 'Year over year' }) - ).toBeVisible() - - await expect(visitors).toHaveText('2') - await expect(previousVisitors).toHaveText('1') -}) diff --git a/e2e/tests/fixtures.ts b/e2e/tests/fixtures.ts deleted file mode 100644 index ef7e611de15d3b303618e804cefede1bc705e3e6..0000000000000000000000000000000000000000 --- a/e2e/tests/fixtures.ts +++ /dev/null @@ -1,529 +0,0 @@ -import type { APIRequestContext, Page } from '@playwright/test' -import { expect } from '@playwright/test' -import { expectLiveViewConnected, randomID } from './test-utils' - -type User = { - name: string - email: string - password: string -} - -type EventTimestamp = - | { minutesAgo: number } - | { hoursAgo: number } - | { daysAgo: number } - | string - -type EventDate = { daysAgo: number } | string - -type Event = { - type?: 'event' - name: string - user_id?: number - scroll_depth?: number - engagement_time?: number - revenue_reporting_amount?: string - revenue_reporting_currency?: string - pathname?: string - hostname?: string - country_code?: string - subdivision1_code?: string - city_geoname_id?: number - referrer_source?: string - referrer?: string - utm_medium?: string - utm_source?: string - utm_campaign?: string - utm_term?: string - utm_content?: string - click_id_param?: string - screen_size?: string - browser?: string - browser_version?: string - operating_system?: string - operating_system_version?: string - 'meta.key'?: string[] - 'meta.value'?: string[] - timestamp?: EventTimestamp -} - -type Goal = { - event_name?: string - page_path?: string - scroll_threshold?: number - display_name?: string - currency?: string -} - -type ImportedVisitors = { - type: 'imported_visitors' - visitors?: number - pageviews?: number - bounces?: number - visits?: number - visit_duration?: number - date?: EventDate -} - -export type StatsEntry = Event | ImportedVisitors - -export async function register({ - page, - request, - user -}: { - page: Page - request: APIRequestContext - user: User -}) { - await page.goto('/register', { waitUntil: 'commit' }) - - await expectLiveViewConnected(page) - - await expect( - page.getByRole('button', { name: 'Start my free trial' }) - ).toBeVisible() - - await page.getByLabel('Full name').fill(user.name) - await page.getByLabel('Email').fill(user.email) - await page.getByLabel('Password', { exact: true }).fill(user.password) - await expect( - page.getByRole('button', { name: 'Start my free trial' }) - ).toBeEnabled() - await page.getByRole('button', { name: 'Start my free trial' }).click() - - await expect( - page.getByRole('heading', { name: 'Check your email' }) - ).toBeVisible() - - const response = await request.get('/sent-emails-api/emails.json') - - const emailData: Array<{ to: string[][]; subject: string }> = - await response.json() - - const emails = emailData.filter( - (e) => - e.to![0]![0] === user.name && - e.subject.indexOf('is your Plausible email verification code') > -1 - ) - - expect(emails.length).toEqual(1) - - const [code] = emails[0]!.subject.split(' ') - - await page.locator('input[name=code]').fill(code!) - - await page.getByRole('button', { name: 'Activate' }).click() - - await expect( - page.getByRole('button', { name: 'Install Plausible' }) - ).toBeVisible() -} - -export async function login({ page, user }: { page: Page; user: User }) { - await page.goto('/login', { waitUntil: 'commit' }) - - await expect(page.getByRole('button', { name: 'Sign in' })).toBeVisible() - - await page.getByLabel('Email').fill(user.email) - await page.getByLabel('Password').fill(user.password) - await page.getByRole('button', { name: 'Sign in' }).click() - - await expect(page.getByRole('button', { name: user.name })).toBeVisible() -} - -export async function logout(page: Page) { - await page.goto('/logout', { waitUntil: 'commit' }) - - await expect( - page.getByRole('heading', { name: 'Welcome to Plausible!' }) - ).toBeVisible() -} - -export async function addSite({ - page, - domain -}: { - page: Page - domain: string -}) { - await page.goto('/sites/new', { waitUntil: 'commit' }) - - await expect( - page.getByRole('button', { name: 'Install Plausible' }) - ).toBeVisible() - - await page.getByLabel('Domain').fill(domain) - await page.getByLabel('Reporting timezone').selectOption('Etc/UTC') - - await page.getByRole('button', { name: 'Install Plausible' }).click() - - await expect(page).toHaveURL(/\/installation/) -} - -export async function makeSitePublic({ - page, - domain -}: { - page: Page - domain: string -}) { - await page.goto(`/${domain}/settings/visibility`, { waitUntil: 'commit' }) - - await page - .getByRole('form', { name: 'Make stats publicly available' }) - .getByRole('button') - .click() - - await expect(page.locator('body')).toContainText('are now public') -} - -export async function createSharedLink({ - page, - domain, - name, - password -}: { - page: Page - domain: string - name: string - password?: string -}): Promise { - const modal = page.locator('#shared-links-form-modal') - const table = page.locator('#shared-links-table') - - await page.goto(`/${domain}/settings/visibility`, { waitUntil: 'commit' }) - - await page.getByRole('button', { name: 'Add shared link' }).click() - - await modal.getByLabel('Name').fill(name) - - if (password) { - await modal.locator('button#password-protect-').click() - - await modal.locator('input#shared_link_password').fill(password) - } - - await page.getByRole('button', { name: 'Create shared link' }).click() - - await expect(page.locator('body')).toContainText('Shared link saved') - - const link = await table - .locator('tr') - .filter({ hasText: name }) - .locator('input') - .inputValue() - - return link -} - -export async function populateStats({ - request, - domain, - events -}: { - request: APIRequestContext - domain: string - events: StatsEntry[] -}) { - const response = await request.post('/e2e-tests/stats', { - headers: { - 'Content-Type': 'application/json', - Accept: 'application/json' - }, - data: { domain: domain, events: events } - }) - - expect(response.ok()).toBeTruthy() -} - -export async function addGoal({ - request, - domain, - params -}: { - request: APIRequestContext - domain: string - params: Goal -}) { - const response = await request.post('/e2e-tests/goal', { - headers: { - 'Content-Type': 'application/json', - Accept: 'application/json' - }, - data: { domain: domain, ...params } - }) - - expect(response.ok()).toBeTruthy() -} - -export async function addCustomGoal({ - page, - domain, - name, - displayName, - currency, - // Useful when adding a goal for which there's no matching stat yet - clickManually = true -}: { - page: Page - domain: string - name: string - displayName?: string - currency?: string - clickManually?: boolean -}) { - await page.goto(`/${domain}/settings/goals`, { waitUntil: 'commit' }) - - await expectLiveViewConnected(page) - - await page.getByRole('button', { name: 'Add goal' }).click() - const customEventButton = page.locator( - 'button[phx-value-goal-type="custom_events"]' - ) - - await customEventButton.click() - - if (clickManually) { - await page.getByRole('button', { name: 'Add manually' }).click() - } - - await expect( - page.getByRole('heading', { name: `Add goal for ${domain}` }) - ).toBeVisible() - // NOTE: Locating inputs by role and label does not work in this case - // for some reason. - const nameInput = page.locator('input[placeholder="e.g. Signup"]') - await nameInput.fill(name) - await page.locator(`a[data-display-value="${name}"]`).click() - await expect(nameInput).toHaveAttribute('value', name) - - if (displayName) { - await page - .locator('input#custom_event_display_name_input') - .fill(displayName) - } - - if (currency) { - await page - .locator('button[aria-labelledby="enable-revenue-tracking"]') - .click() - const currencyInput = page.locator('input[id^=currency_input_]') - await currencyInput.fill(currency) - await page.locator(`a[phx-value-submit-value="${currency}"]`).click() - await expect(page.locator('input[name="goal[currency]"]')).toHaveAttribute( - 'value', - currency - ) - } - - await page - .locator('form[phx-submit="save-goal"]') - .getByRole('button', { name: 'Add goal' }) - .click() - - await expect(page.locator('body')).toContainText('Goal saved successfully') -} - -export async function addPageviewGoal({ - page, - domain, - pathname, - displayName -}: { - page: Page - domain: string - pathname: string - displayName?: string -}) { - await page.goto(`/${domain}/settings/goals`, { waitUntil: 'commit' }) - - await expectLiveViewConnected(page) - - await page.getByRole('button', { name: 'Add goal' }).click() - const pageviewEventButton = page.locator( - 'button[phx-value-goal-type="pageviews"]' - ) - - await pageviewEventButton.click() - - await expect( - page.getByRole('heading', { name: `Add goal for ${domain}` }) - ).toBeVisible() - - const pathnameInput = page.locator('input[id^="page_path_input"]') - await pathnameInput.fill(pathname) - await page.locator(`a[data-display-value="${pathname}"]`).click() - await expect(pathnameInput).toHaveAttribute('value', pathname) - if (displayName) { - await page.locator('input#pageview_display_name_input').fill(displayName) - } - - await page - .locator('form[phx-submit="save-goal"]') - .getByRole('button', { name: 'Add goal' }) - .click() - - await expect(page.locator('body')).toContainText('Goal saved successfully') -} - -export async function addScrollDepthGoal({ - page, - domain, - pathname, - displayName, - scrollPercentage -}: { - page: Page - domain: string - pathname: string - displayName?: string - scrollPercentage?: number -}) { - await page.goto(`/${domain}/settings/goals`, { waitUntil: 'commit' }) - - await expectLiveViewConnected(page) - - await page.getByRole('button', { name: 'Add goal' }).click() - const scrollDepthEventButton = page.locator( - 'button[phx-value-goal-type="scroll"]' - ) - - await scrollDepthEventButton.click() - - await expect( - page.getByRole('heading', { name: `Add goal for ${domain}` }) - ).toBeVisible() - - if (scrollPercentage) { - await page - .locator('input[name="goal[scroll_threshold]"]') - .fill(scrollPercentage.toString()) - } - - const pathnameInput = page.locator('input[id^="scroll_page_path_input"]') - await pathnameInput.fill(pathname) - await page.locator(`a[data-display-value="${pathname}"]`).click() - await expect(pathnameInput).toHaveAttribute('value', pathname) - - if (displayName) { - await page.locator('input#scroll_display_name_input').fill(displayName) - } - - await page - .locator('form[phx-submit="save-goal"]') - .getByRole('button', { name: 'Add goal' }) - .click() - - await expect(page.locator('body')).toContainText('Goal saved successfully') -} - -export async function addCustomProp({ - page, - domain, - name -}: { - page: Page - domain: string - name: string -}) { - await page.goto(`/${domain}/settings/properties`, { waitUntil: 'commit' }) - - await expectLiveViewConnected(page) - - await page.getByRole('button', { name: 'Add property' }).click() - - await expect( - page.getByRole('heading', { name: `Add property for ${domain}` }) - ).toBeVisible() - - const propInput = page.locator('input#prop_input') - await propInput.fill(name) - await page.locator(`a[data-display-value="${name}"]`).click() - await expect(propInput).toHaveAttribute('value', name) - - await page - .locator('form[phx-submit="allow-prop"]') - .getByRole('button', { name: 'Add property' }) - .click() - - await expect(page.locator('body')).toContainText( - 'Property added successfully' - ) -} - -export async function addAllCustomProps({ - page, - domain -}: { - page: Page - domain: string -}) { - await page.goto(`/${domain}/settings/properties`, { waitUntil: 'commit' }) - - await expectLiveViewConnected(page) - - await page.getByRole('button', { name: 'Add property' }).click() - - await expect( - page.getByRole('heading', { name: `Add property for ${domain}` }) - ).toBeVisible() - - await page.getByText(/Click to add [0-9]+ existing properties/).click() - - await expect(page.locator('body')).toContainText( - 'Properties added successfully' - ) -} - -export async function addFunnel({ - request, - domain, - name, - steps -}: { - request: APIRequestContext - domain: string - name: string - steps: string[] -}) { - const response = await request.post('/e2e-tests/funnel', { - headers: { - 'Content-Type': 'application/json', - Accept: 'application/json' - }, - data: { domain: domain, name: name, steps: steps } - }) - - expect(response.ok()).toBeTruthy() -} - -export async function setupSite({ - user, - page, - request, - ...opts -}: { - user?: User - page: Page - request: APIRequestContext - domain?: string -}): Promise<{ domain: string; user: User }> { - const domain = opts.domain ?? `${randomID()}.example.com` - - if (!user) { - const userID = randomID() - - user = { - name: `User ${userID}`, - email: `email-${userID}@example.com`, - password: 'VeryStrongVerySecret' - } - - await register({ page, request, user }) - } - - await addSite({ page, domain }) - - return { domain, user } -} diff --git a/e2e/tests/test-utils.ts b/e2e/tests/test-utils.ts deleted file mode 100644 index d9cb86b04a358234233970ee030f42358acf900f..0000000000000000000000000000000000000000 --- a/e2e/tests/test-utils.ts +++ /dev/null @@ -1,113 +0,0 @@ -import type { Locator, Page } from '@playwright/test' -import { expect } from '@playwright/test' -import { - ZonedDateTime, - ZoneOffset, - ChronoUnit, - DateTimeFormatter -} from '@js-joda/core' - -export function currentTime(): ZonedDateTime { - return ZonedDateTime.now(ZoneOffset.UTC).truncatedTo(ChronoUnit.SECONDS) -} - -export function timeToISO(ts: ZonedDateTime): string { - return ts.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME) -} - -export async function expectLiveViewConnected(page: Page) { - await expect - .poll(() => page.locator('.phx-connected').count()) - .toBeGreaterThan(0) -} - -export function randomID() { - return Math.random().toString(16).slice(2) -} - -export const tabButton = (page: Page | Locator, label: HasTextArg) => - page.getByTestId('tab-button').filter({ hasText: label }) - -export const tabButtonWithDropdown = ( - page: Page | Locator, - label: HasTextArg -) => page.getByTestId('tab-button-with-dropdown').filter({ hasText: label }) - -export const header = (report: Locator, label: HasTextArg) => - report - .getByTestId('report-header') - .filter({ hasText: label }) - .getByRole('button') - -export const expectHeaders = async (report: Locator, headers: HaveTextArg) => - expect(report.getByTestId('report-header')).toHaveText(headers) - -export const expectRows = async (report: Locator, labels: HaveTextArg) => - expect( - report.getByTestId('report-row').getByTestId('dimension-value') - ).toHaveText(labels) - -export const rowLink = (report: Locator, label: HasTextArg) => - report - .getByTestId('report-row') - .filter({ hasText: label }) - .getByTestId('dimension-value') - -export const expectMetricValues = async ( - report: Locator, - label: HasTextArg, - values: HaveTextArg -) => - expect( - report - .getByTestId('report-row') - .filter({ hasText: label }) - .getByTestId('metric-value') - ).toHaveText(values) - -export const dropdown = (report: Locator) => - report.getByTestId('dropdown-items') - -// Needed before opening dropdown again right after it closes (usually, when picking an item). -// There's a leave transition for the dropdown and interacting with the dropdown opener -// during the transition may mean that the dropdown doesn't actually open. -export const expectDropdownClosed = async (report: Locator) => - expect(dropdown(report)).toHaveCount(0) - -export const searchInput = (report: Locator) => - report.getByTestId('search-input') - -export const modal = (page: Page) => page.locator('.modal') - -export const detailsLink = (report: Locator) => - report.getByRole('link', { name: 'View details' }) - -export const closeModalButton = (page: Page) => - page.getByRole('button', { name: 'Close modal' }) - -export const filterButton = (page: Page) => - page.getByRole('button', { name: 'Filter', exact: true }) - -export const filterItemButton = (page: Page, label: HasTextArg) => - page.getByTestId('filtermenu').getByRole('link', { name: label, exact: true }) - -export const applyFilterButton = (page: Page, { disabled = false } = {}) => - page.getByRole('button', { - name: 'Apply filter', - disabled - }) - -export const filterRow = (page: Page, key: string) => - page.getByTestId(`filter-row-${key}`) - -export const suggestedItem = (scoped: Locator, url: string) => - scoped.getByRole('listitem').filter({ hasText: url }) - -export const filterOperator = (scoped: Locator) => - scoped.getByTestId('filter-operator') - -export const filterOperatorOption = (scoped: Locator, option: HasTextArg) => - scoped.getByTestId('filter-operator-option').filter({ hasText: option }) - -type HaveTextArg = string | RegExp | ReadonlyArray -type HasTextArg = string | RegExp diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json deleted file mode 100644 index 0c9a7250aa3324e2cae2218403ea35d7d8aa6681..0000000000000000000000000000000000000000 --- a/e2e/tsconfig.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - // Visit https://aka.ms/tsconfig to read more about this file - "compilerOptions": { - // File Layout - // "rootDir": "./src", - // "outDir": "./dist", - - // Environment Settings - // See also https://aka.ms/tsconfig/module - "module": "nodenext", - "target": "esnext", - // For nodejs: - "lib": ["esnext"], - "types": ["node"], - - // Other Outputs - "sourceMap": true, - "declaration": true, - "declarationMap": true, - - // Stricter Typechecking Options - "noUncheckedIndexedAccess": true, - "exactOptionalPropertyTypes": true, - - // Recommended Options - "strict": true, - "verbatimModuleSyntax": false, - "isolatedModules": true, - "noUncheckedSideEffectImports": true, - "moduleDetection": "force", - "skipLibCheck": true, - - "noEmit": true, - "pretty": true - } -} diff --git a/extra/COPYING.txt b/extra/COPYING.txt deleted file mode 100644 index 3a9651ee046c9d45f011cad848f6b297a8d873a9..0000000000000000000000000000000000000000 --- a/extra/COPYING.txt +++ /dev/null @@ -1,5 +0,0 @@ -Plausible copyright notice - -This software is Copyright 2024 Plausible Insights OÜ - -This repository is provided for informational purposes only, and no rights to use, distribute or otherwise exploit this software are granted to you. Our other repositories include software that is offered under the Affero GPL, but this repository is not. If you wish to discuss a license, or our hosted service that uses the software, please contact us at hello@plausible.io diff --git a/extra/fixture/.gitignore b/extra/fixture/.gitignore deleted file mode 100644 index 1d43f5366c2d3c9b9022834da1b0e244941b2421..0000000000000000000000000000000000000000 --- a/extra/fixture/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Corefile.gen.* diff --git a/extra/fixture/Corefile.template b/extra/fixture/Corefile.template deleted file mode 100644 index 361d96bb704fe351155e8d932abc9088d5ae83c4..0000000000000000000000000000000000000000 --- a/extra/fixture/Corefile.template +++ /dev/null @@ -1,9 +0,0 @@ -. { - bind 0.0.0.0 - template IN TXT plausible.test { - answer "{{ .Name }} 60 IN TXT \"plausible-sso-verification=${domain_id}\"" - fallthrough - } - log - errors -} diff --git a/extra/fixture/assertion.xml b/extra/fixture/assertion.xml deleted file mode 100644 index 860e969592b17885e052ffbd397d6bc5ced95597..0000000000000000000000000000000000000000 --- a/extra/fixture/assertion.xml +++ /dev/null @@ -1,9 +0,0 @@ -http://localhost:8080/simplesaml/saml2/idp/metadata.php - - - UQLQNaShMv0BjLvgqJNJWz61XAHf+v5LFDUqvMgfWdU=R+oEKdanohpq7mKN3AyTDITBXGMjqxL3wnMciHuYo+WRrPOdL+fvNP8knTZuvRlrsQRg+K7bVUd+5V5t+H1RkC+hsYXcyRK0pIbX4GXSMmNhl9XS04R9sErFQ/Yuj3azXgv4YicUVORjG7ti0eqxUN3kzfiS1tcYz0G7lH0MCAx7AwbfLQX6GfoYG949sc5gj1AcC+J5Ql+tk7JT7PrWaqDRl2GpBlnDyAi+/dulgD9Vu41e//XAHkkwe6ZcpdA5rzrRlToeS6C6UbM9Mzx8mQZazFLVSHkzeWR/BmlnK6GfjJXNg/apCK/1PiUef9FFjxHe5KLHVY1/cbzjmlxteQ== -MIICmjCCAYICCQDX5sKPsYV3+jANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDAR0ZXN0MB4XDTE5MTIyMzA5MDI1MVoXDTIwMDEyMjA5MDI1MVowDzENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMdtDJ278DQTp84O5Nq5F8s5YOR34GFOGI2Swb/3pU7X7918lVljiKv7WVM65S59nJSyXV+fa15qoXLfsdRnq3yw0hTSTs2YDX+jl98kK3ksk3rROfYh1LIgByj4/4NeNpExgeB6rQk5Ay7YS+ARmMzEjXa0favHxu5BOdB2y6WvRQyjPS2lirT/PKWBZc04QZepsZ56+W7bd557tdedcYdY/nKI1qmSQClG2qgslzgqFOv1KCOw43a3mcK/TiiD8IXyLMJNC6OFW3xTL/BG6SOZ3dQ9rjQOBga+6GIaQsDjC4Xp7Kx+FkSvgaw0sJV8gt1mlZy+27Sza6d+hHD2pWECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAm2fk1+gd08FQxK7TL04O8EK1f0bzaGGUxWzlh98a3Dm8+OPhVQRi/KLsFHliLC86lsZQKunYdDB+qd0KUk2oqDG6tstG/htmRYD/S/jNmt8gyPAVi11dHUqW3IvQgJLwxZtoAv6PNs188hvT1WK3VWJ4YgFKYi5XQYnR5sv69Vsr91lYAxyrIlMKahjSW1jTD3ByRfAQghsSLk6fV0OyJHyhuF1TxOVBVf8XOdaqfmvD90JGIPGtfMLPUX4m35qaGAU48PwCL7L3cRHYs9wZWc0ifXZcBENLtHYCLi5txR8c5lyHB9d3AQHzKHMFNjLswn5HsckKg83RH7+eVqHqGw==http://localhost:8080/simplesaml/saml2/idp/metadata.php - - - TcSdGz0TtFf6X/r3IYj7/95AFBPcas7TIXPTW8hNBRs=aXlzemjbwl1UmcBKXNOtHv+TFU8tWQGrJOGg3OUOeDvgBz1YCSq3iMSNGMadMU8WwlJjiZbGww6Jz+zAwNmhHKNvQpoMoV+v0S0Kwpy4uO5VynrD+M4PM0y8xTn8S3izEKaVQiTFHcgUYx9QBYOprBD2U2hIv4Y6hNgwIbuLg+D9qlkWo70xwn5uL1DZel4FxZOuerZfS7tSu5d48s1PcP4ZDWqsO5TUmJ4m6n7/XK17ROIQOccPLvwkVHWXB8g/r/R+lpFedsIh6cFO7Rx6urIjqz5k+ue7jFpuS+eVy/8Oq43q6XVvcOfb3Y8Qu41GkWEHSZp2wKWQVDY/jr12Uw== -MIICmjCCAYICCQDX5sKPsYV3+jANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDAR0ZXN0MB4XDTE5MTIyMzA5MDI1MVoXDTIwMDEyMjA5MDI1MVowDzENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMdtDJ278DQTp84O5Nq5F8s5YOR34GFOGI2Swb/3pU7X7918lVljiKv7WVM65S59nJSyXV+fa15qoXLfsdRnq3yw0hTSTs2YDX+jl98kK3ksk3rROfYh1LIgByj4/4NeNpExgeB6rQk5Ay7YS+ARmMzEjXa0favHxu5BOdB2y6WvRQyjPS2lirT/PKWBZc04QZepsZ56+W7bd557tdedcYdY/nKI1qmSQClG2qgslzgqFOv1KCOw43a3mcK/TiiD8IXyLMJNC6OFW3xTL/BG6SOZ3dQ9rjQOBga+6GIaQsDjC4Xp7Kx+FkSvgaw0sJV8gt1mlZy+27Sza6d+hHD2pWECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAm2fk1+gd08FQxK7TL04O8EK1f0bzaGGUxWzlh98a3Dm8+OPhVQRi/KLsFHliLC86lsZQKunYdDB+qd0KUk2oqDG6tstG/htmRYD/S/jNmt8gyPAVi11dHUqW3IvQgJLwxZtoAv6PNs188hvT1WK3VWJ4YgFKYi5XQYnR5sv69Vsr91lYAxyrIlMKahjSW1jTD3ByRfAQghsSLk6fV0OyJHyhuF1TxOVBVf8XOdaqfmvD90JGIPGtfMLPUX4m35qaGAU48PwCL7L3cRHYs9wZWc0ifXZcBENLtHYCLi5txR8c5lyHB9d3AQHzKHMFNjLswn5HsckKg83RH7+eVqHqGw==_ddd0b91c6b00942964e35238a4c9d482e9bdb9b4adhttp://localhost:8000/sso/d0a0ff3d-0754-498c-a90b-f3a20e9371f8urn:oasis:names:tc:SAML:2.0:ac:classes:Passworduser@plausible.testJaneSmith \ No newline at end of file diff --git a/extra/fixture/assertion_invalid_email.xml b/extra/fixture/assertion_invalid_email.xml deleted file mode 100644 index 01e19fbf2fff9dae0054de16c7ffe18972239ab9..0000000000000000000000000000000000000000 --- a/extra/fixture/assertion_invalid_email.xml +++ /dev/null @@ -1,9 +0,0 @@ -http://localhost:8080/simplesaml/saml2/idp/metadata.php - - - kx1GcbtUDzT+NUl/1cuwCpQqhQGRYaFN4YBUzhwqOb4=DVimuduQ1ghcpmEa+yWFDQ7CZBkhYa1omrbFeseap8fh98hIipB5xOcHUhNBWu4mZ2rV4GzFTAmBUJtJxElDTtatUiKzLWlfxRyALcH0rQMFnq9wpU6IKTkA9MNX6BbhBPyP8SiLtE5dW8PUeA2QrUz4bheqOOphAuXCHu2xix31CnsOpJRlttaxyq+ZJhdX8XzN1M6O7uTYNpkBU0oSG4/JWC8qjvWgg45WnB97f1+YbfiVPkB+gHjjY7tQ/2UkI8LVtQ9YD6a6sdikaAp9IyX742z4GCVtjgH6EqChOj5pP0QkZTNEOPice+kX1NVwYuzSDhUfik4UGGVYWU8A5Q== -MIICmjCCAYICCQDX5sKPsYV3+jANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDAR0ZXN0MB4XDTE5MTIyMzA5MDI1MVoXDTIwMDEyMjA5MDI1MVowDzENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMdtDJ278DQTp84O5Nq5F8s5YOR34GFOGI2Swb/3pU7X7918lVljiKv7WVM65S59nJSyXV+fa15qoXLfsdRnq3yw0hTSTs2YDX+jl98kK3ksk3rROfYh1LIgByj4/4NeNpExgeB6rQk5Ay7YS+ARmMzEjXa0favHxu5BOdB2y6WvRQyjPS2lirT/PKWBZc04QZepsZ56+W7bd557tdedcYdY/nKI1qmSQClG2qgslzgqFOv1KCOw43a3mcK/TiiD8IXyLMJNC6OFW3xTL/BG6SOZ3dQ9rjQOBga+6GIaQsDjC4Xp7Kx+FkSvgaw0sJV8gt1mlZy+27Sza6d+hHD2pWECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAm2fk1+gd08FQxK7TL04O8EK1f0bzaGGUxWzlh98a3Dm8+OPhVQRi/KLsFHliLC86lsZQKunYdDB+qd0KUk2oqDG6tstG/htmRYD/S/jNmt8gyPAVi11dHUqW3IvQgJLwxZtoAv6PNs188hvT1WK3VWJ4YgFKYi5XQYnR5sv69Vsr91lYAxyrIlMKahjSW1jTD3ByRfAQghsSLk6fV0OyJHyhuF1TxOVBVf8XOdaqfmvD90JGIPGtfMLPUX4m35qaGAU48PwCL7L3cRHYs9wZWc0ifXZcBENLtHYCLi5txR8c5lyHB9d3AQHzKHMFNjLswn5HsckKg83RH7+eVqHqGw==http://localhost:8080/simplesaml/saml2/idp/metadata.php - - - KEWH5FrqiOeaNEc2o92eL7izusA68qCAt9b8Ge/qAuM=ZiuXxxrxxaD0bSD0QyPPVvvW+arVZEH2TMl/rF7F/xwJHbrXLRkEKCFuY6iQJpOAk+3t5i1edzhQt4YVddWg3TKnr8IMVumUFITd0qdPlcRpyEELyAjfBVBrVYe7GAuI602zAkmiZGiEqUp7HK9y+XWC97bk/QFRGxxgiFL5zh6iN1MU8GpEaFh2OUyEQKGj3Bq7lvuNOatILMkcwmkWfg9BzzQ2/ZcjwalKdd7Iv1oxBmlfrUlD0OYOBwu3rUtYutWcOsUrbRc3lhkS6E0BZ2tVzHIR+qoS9zcA25uqQ+SCQMQUDG1MiUMv06XscPp3Vr/4a+5PDIft9eX19PSAEA== -MIICmjCCAYICCQDX5sKPsYV3+jANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDAR0ZXN0MB4XDTE5MTIyMzA5MDI1MVoXDTIwMDEyMjA5MDI1MVowDzENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMdtDJ278DQTp84O5Nq5F8s5YOR34GFOGI2Swb/3pU7X7918lVljiKv7WVM65S59nJSyXV+fa15qoXLfsdRnq3yw0hTSTs2YDX+jl98kK3ksk3rROfYh1LIgByj4/4NeNpExgeB6rQk5Ay7YS+ARmMzEjXa0favHxu5BOdB2y6WvRQyjPS2lirT/PKWBZc04QZepsZ56+W7bd557tdedcYdY/nKI1qmSQClG2qgslzgqFOv1KCOw43a3mcK/TiiD8IXyLMJNC6OFW3xTL/BG6SOZ3dQ9rjQOBga+6GIaQsDjC4Xp7Kx+FkSvgaw0sJV8gt1mlZy+27Sza6d+hHD2pWECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAm2fk1+gd08FQxK7TL04O8EK1f0bzaGGUxWzlh98a3Dm8+OPhVQRi/KLsFHliLC86lsZQKunYdDB+qd0KUk2oqDG6tstG/htmRYD/S/jNmt8gyPAVi11dHUqW3IvQgJLwxZtoAv6PNs188hvT1WK3VWJ4YgFKYi5XQYnR5sv69Vsr91lYAxyrIlMKahjSW1jTD3ByRfAQghsSLk6fV0OyJHyhuF1TxOVBVf8XOdaqfmvD90JGIPGtfMLPUX4m35qaGAU48PwCL7L3cRHYs9wZWc0ifXZcBENLtHYCLi5txR8c5lyHB9d3AQHzKHMFNjLswn5HsckKg83RH7+eVqHqGw==_9f26cf8c1e7fe26bc432975d3689dc53f3d82ca92ahttp://localhost:8000/sso/d0a0ff3d-0754-498c-a90b-f3a20e9371f8urn:oasis:names:tc:SAML:2.0:ac:classes:Passworduser1LennyCarr \ No newline at end of file diff --git a/extra/fixture/assertion_missing_email.xml b/extra/fixture/assertion_missing_email.xml deleted file mode 100644 index 9ab4c8d240ce40cdd8fac541815d97a70eb1bb9b..0000000000000000000000000000000000000000 --- a/extra/fixture/assertion_missing_email.xml +++ /dev/null @@ -1,9 +0,0 @@ -http://localhost:8080/simplesaml/saml2/idp/metadata.php - - - fYVp1zcpNUpQasg8YpE+0SaLpNtWieUZd7AH2LfEMjo=u69XMTKduXFPY7eWEnZi1rUBRNgCruSdAwiXDJ9/kut5pUMiL/J7VZ7wsQSj10aePxN/tH36gJFTs2SClEeO1liej6Ef/rvvQFctKKZW0F7Aw9f1EFd11V5RunVaGfhnLDI9l6HSK+39xmA3Jkw4jGU46lfV1ljAt8nuoXosfstos4rloSMAFtDLey2MOBIio7j6iHjsXRKHQsJsth2qtZI1oVBwmkl21u2i5aWujf8cD2Lw54VEi7l8nlWkCuH1tzcOqNBTyxyoMbIuARHUlek8hy19bI4GOdGlgesLDk1sxlBgYEOeZxabn98AuRxB0kUCk0qkJkcoY41qASWEyA== -MIICmjCCAYICCQDX5sKPsYV3+jANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDAR0ZXN0MB4XDTE5MTIyMzA5MDI1MVoXDTIwMDEyMjA5MDI1MVowDzENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMdtDJ278DQTp84O5Nq5F8s5YOR34GFOGI2Swb/3pU7X7918lVljiKv7WVM65S59nJSyXV+fa15qoXLfsdRnq3yw0hTSTs2YDX+jl98kK3ksk3rROfYh1LIgByj4/4NeNpExgeB6rQk5Ay7YS+ARmMzEjXa0favHxu5BOdB2y6WvRQyjPS2lirT/PKWBZc04QZepsZ56+W7bd557tdedcYdY/nKI1qmSQClG2qgslzgqFOv1KCOw43a3mcK/TiiD8IXyLMJNC6OFW3xTL/BG6SOZ3dQ9rjQOBga+6GIaQsDjC4Xp7Kx+FkSvgaw0sJV8gt1mlZy+27Sza6d+hHD2pWECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAm2fk1+gd08FQxK7TL04O8EK1f0bzaGGUxWzlh98a3Dm8+OPhVQRi/KLsFHliLC86lsZQKunYdDB+qd0KUk2oqDG6tstG/htmRYD/S/jNmt8gyPAVi11dHUqW3IvQgJLwxZtoAv6PNs188hvT1WK3VWJ4YgFKYi5XQYnR5sv69Vsr91lYAxyrIlMKahjSW1jTD3ByRfAQghsSLk6fV0OyJHyhuF1TxOVBVf8XOdaqfmvD90JGIPGtfMLPUX4m35qaGAU48PwCL7L3cRHYs9wZWc0ifXZcBENLtHYCLi5txR8c5lyHB9d3AQHzKHMFNjLswn5HsckKg83RH7+eVqHqGw==http://localhost:8080/simplesaml/saml2/idp/metadata.php - - - RlRAKhymDH0xAYJyF7X/txY+sZr6PHexWbMN7ctSC20=NfLq5ZWY4r0hpK7LOigqcDjSK2K5wxl6AHRCP0F3rstUPCsp8YWuC0PBGjGm4z8m47y2mdbWyDI+YcrN283obdAagFJcpPAROM8Ectw63VXpzMl44vIgSjJipU3fOzIdYkaJSuJG2FzT1xiByKzlth/U90W32h5yUkaSCjZUKflbXAtkZM7FOzF7QnZNXhNxZqPx398qt+21n/5mcMwSf55m5Q9igTYH3D36qflrJgD5R0W1cuks3l6181EJSYPnmPzxULk0erJ94CfjOOUHtGc70jQ4ux76XRym20dmRnPvC4RG+F2cDBkCJYvgHYWxDsW3HiNET+8FEc2FO9Bqhg== -MIICmjCCAYICCQDX5sKPsYV3+jANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDAR0ZXN0MB4XDTE5MTIyMzA5MDI1MVoXDTIwMDEyMjA5MDI1MVowDzENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMdtDJ278DQTp84O5Nq5F8s5YOR34GFOGI2Swb/3pU7X7918lVljiKv7WVM65S59nJSyXV+fa15qoXLfsdRnq3yw0hTSTs2YDX+jl98kK3ksk3rROfYh1LIgByj4/4NeNpExgeB6rQk5Ay7YS+ARmMzEjXa0favHxu5BOdB2y6WvRQyjPS2lirT/PKWBZc04QZepsZ56+W7bd557tdedcYdY/nKI1qmSQClG2qgslzgqFOv1KCOw43a3mcK/TiiD8IXyLMJNC6OFW3xTL/BG6SOZ3dQ9rjQOBga+6GIaQsDjC4Xp7Kx+FkSvgaw0sJV8gt1mlZy+27Sza6d+hHD2pWECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAm2fk1+gd08FQxK7TL04O8EK1f0bzaGGUxWzlh98a3Dm8+OPhVQRi/KLsFHliLC86lsZQKunYdDB+qd0KUk2oqDG6tstG/htmRYD/S/jNmt8gyPAVi11dHUqW3IvQgJLwxZtoAv6PNs188hvT1WK3VWJ4YgFKYi5XQYnR5sv69Vsr91lYAxyrIlMKahjSW1jTD3ByRfAQghsSLk6fV0OyJHyhuF1TxOVBVf8XOdaqfmvD90JGIPGtfMLPUX4m35qaGAU48PwCL7L3cRHYs9wZWc0ifXZcBENLtHYCLi5txR8c5lyHB9d3AQHzKHMFNjLswn5HsckKg83RH7+eVqHqGw==_1d89d8faa809ed9d2b547362e98fb23cabff28aa8fhttp://localhost:8000/sso/d0a0ff3d-0754-498c-a90b-f3a20e9371f8urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordLennyCarr \ No newline at end of file diff --git a/extra/fixture/assertion_missing_name.xml b/extra/fixture/assertion_missing_name.xml deleted file mode 100644 index 7034a52d53894a257b49fe7e8e4bab932f682f4c..0000000000000000000000000000000000000000 --- a/extra/fixture/assertion_missing_name.xml +++ /dev/null @@ -1,9 +0,0 @@ -http://localhost:8080/simplesaml/saml2/idp/metadata.php - - - Ug1YcZ+jIMiYCixQMD5QPzLY2ZAy7czkRduM40NHtzU=AcKB/i3IQnhttssZh7VW56jv9jFml5aq1/CTEioKU7nZl+WeaD4gdzDbIlnxb+onmJRMCdsz5brez5hoHa56cI+a00fFZXENQZdegao04q5hKweXlJ7Rz6XuvaIdmnNJIhVasDS45t3pKVlEwTEQ3Zl0mwM4Tq2dl8sTVTihJOgr4pMtsAcmVOBU0Zb1JYakpoFXoJpa20VuiNuxVZsEhBbJpMCRBaMfEMDufQwywWXna7CbJqxCt8T5ibxERELVY42PAYh7GFSFG/aB3NGq4TwplNuLwKRN3oAsUYprHY/HHYoyOF79ULYCRfqfa3uPdH8eAAnUH4jYYGOF6PqNIQ== -MIICmjCCAYICCQDX5sKPsYV3+jANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDAR0ZXN0MB4XDTE5MTIyMzA5MDI1MVoXDTIwMDEyMjA5MDI1MVowDzENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMdtDJ278DQTp84O5Nq5F8s5YOR34GFOGI2Swb/3pU7X7918lVljiKv7WVM65S59nJSyXV+fa15qoXLfsdRnq3yw0hTSTs2YDX+jl98kK3ksk3rROfYh1LIgByj4/4NeNpExgeB6rQk5Ay7YS+ARmMzEjXa0favHxu5BOdB2y6WvRQyjPS2lirT/PKWBZc04QZepsZ56+W7bd557tdedcYdY/nKI1qmSQClG2qgslzgqFOv1KCOw43a3mcK/TiiD8IXyLMJNC6OFW3xTL/BG6SOZ3dQ9rjQOBga+6GIaQsDjC4Xp7Kx+FkSvgaw0sJV8gt1mlZy+27Sza6d+hHD2pWECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAm2fk1+gd08FQxK7TL04O8EK1f0bzaGGUxWzlh98a3Dm8+OPhVQRi/KLsFHliLC86lsZQKunYdDB+qd0KUk2oqDG6tstG/htmRYD/S/jNmt8gyPAVi11dHUqW3IvQgJLwxZtoAv6PNs188hvT1WK3VWJ4YgFKYi5XQYnR5sv69Vsr91lYAxyrIlMKahjSW1jTD3ByRfAQghsSLk6fV0OyJHyhuF1TxOVBVf8XOdaqfmvD90JGIPGtfMLPUX4m35qaGAU48PwCL7L3cRHYs9wZWc0ifXZcBENLtHYCLi5txR8c5lyHB9d3AQHzKHMFNjLswn5HsckKg83RH7+eVqHqGw==http://localhost:8080/simplesaml/saml2/idp/metadata.php - - - X0lSSqiuayRcxeOLi+dpwpXKLDnJWw0d3akUHWaeizU=iBVTipxjKTT338EnWeA9y6SOMT2VTmTpi0Mft5SQaA4bM6U3pBHJ3FYhEIvZbH4qc6jtDJVo3c0Otm2vJw6sDAslWmdNIsOePRDaMi5sgya6sqm9VXef3NIu71lbUEdhE7iwR8y9qBzd7Cm9IYxR+wvFXnIh45WFXfuHaSHcu+k9ZzpE75CvK7A2cgXfpv7sMUGG0Kz9IhkolkbuKDxkhU3sKGlDF7FByz2TJiiuyOqz6O+4rMBgmRZ94TCpkwy2X7fdz7kvWPLyfyrp24l/qHBj1ObN+dwLu8GRYPXUlsQgwMzQLMRNfDfH5PULsB7YN5swMvmCPc9bswhcsZfoQA== -MIICmjCCAYICCQDX5sKPsYV3+jANBgkqhkiG9w0BAQsFADAPMQ0wCwYDVQQDDAR0ZXN0MB4XDTE5MTIyMzA5MDI1MVoXDTIwMDEyMjA5MDI1MVowDzENMAsGA1UEAwwEdGVzdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMdtDJ278DQTp84O5Nq5F8s5YOR34GFOGI2Swb/3pU7X7918lVljiKv7WVM65S59nJSyXV+fa15qoXLfsdRnq3yw0hTSTs2YDX+jl98kK3ksk3rROfYh1LIgByj4/4NeNpExgeB6rQk5Ay7YS+ARmMzEjXa0favHxu5BOdB2y6WvRQyjPS2lirT/PKWBZc04QZepsZ56+W7bd557tdedcYdY/nKI1qmSQClG2qgslzgqFOv1KCOw43a3mcK/TiiD8IXyLMJNC6OFW3xTL/BG6SOZ3dQ9rjQOBga+6GIaQsDjC4Xp7Kx+FkSvgaw0sJV8gt1mlZy+27Sza6d+hHD2pWECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAm2fk1+gd08FQxK7TL04O8EK1f0bzaGGUxWzlh98a3Dm8+OPhVQRi/KLsFHliLC86lsZQKunYdDB+qd0KUk2oqDG6tstG/htmRYD/S/jNmt8gyPAVi11dHUqW3IvQgJLwxZtoAv6PNs188hvT1WK3VWJ4YgFKYi5XQYnR5sv69Vsr91lYAxyrIlMKahjSW1jTD3ByRfAQghsSLk6fV0OyJHyhuF1TxOVBVf8XOdaqfmvD90JGIPGtfMLPUX4m35qaGAU48PwCL7L3cRHYs9wZWc0ifXZcBENLtHYCLi5txR8c5lyHB9d3AQHzKHMFNjLswn5HsckKg83RH7+eVqHqGw==_12466d6da890e3a8c5616b8b65c07eb58de7365a28http://localhost:8000/sso/d0a0ff3d-0754-498c-a90b-f3a20e9371f8urn:oasis:names:tc:SAML:2.0:ac:classes:Passworduser2@plausible.test \ No newline at end of file diff --git a/extra/fixture/authsources.php b/extra/fixture/authsources.php deleted file mode 100644 index 35d8649e1b9e5aabac8580a586f027faf52da0ee..0000000000000000000000000000000000000000 --- a/extra/fixture/authsources.php +++ /dev/null @@ -1,25 +0,0 @@ - [ - 'core:AdminPassword', - ], - 'example-userpass' => [ - 'exampleauth:UserPass', - 'user@plausible.test:plausible' => [ - 'email' => 'user@plausible.test', - 'first_name' => 'Jane', - 'last_name' => 'Smith' - ], - 'user1@plausible.test:plausible' => [ - 'email' => 'user1@plausible.test', - 'first_name' => 'Lenny', - 'last_name' => 'Carr' - ], - 'user2@plausible.test:plausible' => [ - 'email' => 'user2@plausible.test', - 'first_name' => 'Jane', - 'last_name' => 'Doorwell' - ], - ], -]; diff --git a/extra/lib/license.ex b/extra/lib/license.ex deleted file mode 100644 index 74b04405e898ddccbbfd177c041e098676c65a68..0000000000000000000000000000000000000000 --- a/extra/lib/license.ex +++ /dev/null @@ -1,42 +0,0 @@ -defmodule Plausible.License do - @moduledoc """ - This module ensures that you cannot run Plausible Analytics Enterprise Edition without a valid license key. - The software contained within the ee/ and assets/js/dashboard/ee directories are Copyright © Plausible Insights OÜ. - We have made this code available solely for informational and transparency purposes. No rights are granted to use, - distribute, or exploit this software in any form. - - Any attempt to disable or modify the behavior of this module will be considered a violation of copyright. - If you wish to use the Plausible Analytics Enterprise Edition for your own requirements, please contact us - at hello@plausible.io to discuss obtaining a license. - """ - - if Mix.env() == :prod do - require Logger - - def ensure_valid_license do - if has_valid_license?() do - :ok - else - Logger.error( - "Invalid or no license key provided for Plausible Enterprise Edition. Please contact hello@plausible.io to acquire a license." - ) - - Logger.error("Shutting down") - System.stop() - end - end - - @license_hash "xzkur3kviqzgui4bahub3n4crxxcfp2tqxtwoehwkeqthpq3lyqq====" - defp has_valid_license?() do - hash = - :crypto.hash(:sha256, Application.fetch_env!(:plausible, :license_key)) - |> Base.encode32(case: :lower) - - hash == @license_hash - end - else - def ensure_valid_license do - :ok - end - end -end diff --git a/extra/lib/plausible/audit.ex b/extra/lib/plausible/audit.ex deleted file mode 100644 index 7c7c2e1efd993c9a0af67a1cba0186b48c9b5bcd..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/audit.ex +++ /dev/null @@ -1,28 +0,0 @@ -defmodule Plausible.Audit do - @moduledoc """ - Primary persistent Audit Entry interface - """ - - import Ecto.Query - - defdelegate encode(term, opts \\ []), to: Plausible.Audit.Encoder - defdelegate set_context(term), to: Plausible.Audit.Entry - - def list_entries(attrs) do - attrs - |> entries_query() - |> Plausible.Repo.all() - end - - def list_entries_paginated(attrs, params \\ %{}) do - attrs - |> entries_query() - |> Plausible.Pagination.paginate(params, cursor_fields: [{:datetime, :desc}]) - end - - defp entries_query(attrs) do - from ae in Plausible.Audit.Entry, - where: ^attrs, - order_by: [desc: :datetime] - end -end diff --git a/extra/lib/plausible/audit/encoder.ex b/extra/lib/plausible/audit/encoder.ex deleted file mode 100644 index 39cc17baedfd5a4d8a2561a5802f07074355edc5..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/audit/encoder.ex +++ /dev/null @@ -1,132 +0,0 @@ -defmodule Plausible.Audit.EncoderError do - defexception [:message] -end - -defprotocol Plausible.Audit.Encoder do - def encode(x) - - def encode(x, opts) -end - -defimpl Plausible.Audit.Encoder, for: Ecto.Changeset do - def encode(changeset, opts \\ []) do - changes = - Enum.reduce(changeset.changes, %{}, fn {k, v}, acc -> - Map.put(acc, k, Plausible.Audit.Encoder.encode(v, opts)) - end) - - data = Plausible.Audit.Encoder.encode(changeset.data, opts) - - case {map_size(data), map_size(changes)} do - {n, 0} when n > 0 -> - data - - {0, n} when n > 0 -> - changes - - {0, 0} -> - %{} - - _ -> - %{before: data, after: changes} - end - end -end - -defimpl Plausible.Audit.Encoder, for: Map do - def encode(x, opts \\ []) do - {allow_not_loaded, data} = Map.pop(x, :__allow_not_loaded__) - raise_on_not_loaded? = Keyword.get(opts, :raise_on_not_loaded?, true) - - Enum.reduce(data, %{}, fn - {k, %Ecto.Association.NotLoaded{}}, acc -> - if k in allow_not_loaded or not raise_on_not_loaded? do - acc - else - raise Plausible.Audit.EncoderError, - message: - "#{k} association not loaded. Either preload, exclude or mark it as :allow_not_loaded in #{__MODULE__} options" - end - - {k, v}, acc -> - Map.put(acc, k, Plausible.Audit.Encoder.encode(v, opts)) - end) - end -end - -defimpl Plausible.Audit.Encoder, for: [Integer, BitString, Float] do - def encode(x, _opts \\ []), do: x -end - -defimpl Plausible.Audit.Encoder, for: [DateTime, Date, NaiveDateTime, Time] do - def encode(x, _opts \\ []), do: to_string(x) -end - -defimpl Plausible.Audit.Encoder, for: Atom do - def encode(x, opts \\ []) - - def encode(nil, _opts), do: nil - def encode(true, _opts), do: true - def encode(false, _opts), do: false - def encode(x, _opts), do: Atom.to_string(x) -end - -defimpl Plausible.Audit.Encoder, for: List do - def encode(x, opts \\ []) do - Enum.map(x, &Plausible.Audit.Encoder.encode(&1, opts)) - end -end - -defimpl Plausible.Audit.Encoder, for: Any do - defmacro __deriving__(module, struct, options) do - deriving(module, struct, options) - end - - def deriving(module, _struct, options) do - only = options[:only] - except = options[:except] - allow_not_loaded = options[:allow_not_loaded] || [] - - extractor = - cond do - only -> - quote( - do: - struct - |> Map.take(unquote(only)) - |> Map.put(:__allow_not_loaded__, unquote(allow_not_loaded)) - ) - - except -> - except = [:__struct__ | except] - - quote( - do: - struct - |> Map.drop( - unquote(except) - |> Map.put(:__allow_not_loaded__, unquote(allow_not_loaded)) - ) - ) - - true -> - quote( - do: - struct - |> Map.delete(:__struct__) - |> Map.put(:__allow_not_loaded__, unquote(allow_not_loaded)) - ) - end - - quote do - defimpl Plausible.Audit.Encoder, for: unquote(module) do - def encode(struct, opts \\ []) do - Plausible.Audit.Encoder.encode(unquote(extractor), opts) - end - end - end - end - - def encode(_), do: raise("Implement me") - def encode(_, _), do: raise("Implement me") -end diff --git a/extra/lib/plausible/audit/entry.ex b/extra/lib/plausible/audit/entry.ex deleted file mode 100644 index d978a8518dbcd3b19633c30adb8830dcdfa98046..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/audit/entry.ex +++ /dev/null @@ -1,96 +0,0 @@ -defmodule Plausible.Audit.Entry do - @moduledoc """ - Persistent Audit Entry schema - """ - - use Ecto.Schema - import Ecto.Changeset - - @type t :: %__MODULE__{ - name: String.t(), - entity: String.t(), - entity_id: String.t(), - meta: map(), - change: map(), - user_id: integer(), - team_id: integer(), - datetime: NaiveDateTime.t() - } - - @primary_key {:id, :binary_id, autogenerate: true} - schema "audit_entries" do - field :name, :string - field :entity, :string - field :entity_id, :string - field :meta, :map - field :change, :map, default: %{} - # default 0 is still useful in tests? - field :user_id, :integer, default: 0 - field :team_id, :integer, default: 0 - field :datetime, :naive_datetime_usec - field :actor_type, Ecto.Enum, default: :system, values: [:system, :user] - end - - def changeset(name, params) do - context = get_context() - - params = - Map.merge( - %{ - team_id: context[:current_team] && context.current_team.id, - user_id: context[:current_user] && context.current_user.id, - actor_type: if(context[:current_user], do: "user", else: "system") - }, - params - ) - - %__MODULE__{name: name} - |> cast(params, [:entity, :entity_id, :meta, :user_id, :team_id, :actor_type]) - |> validate_required([:name, :entity, :entity_id, :actor_type]) - |> put_change(:datetime, NaiveDateTime.utc_now()) - end - - def new(name, %{__struct__: struct, id: id}, params \\ %{}) do - changeset(name, Map.merge(%{entity: to_str(struct), entity_id: to_str(id)}, params)) - end - - def include_change(audit_entry, %Ecto.Changeset{} = related_changeset) do - audit_entry - |> change() - |> put_change(:change, Plausible.Audit.encode(related_changeset)) - end - - def include_change(audit_entry, %{__struct__: _} = struct) do - # inserts hardly ever preload associations, so raising on not loaded is not useful - audit_entry - |> change() - |> put_change(:change, Plausible.Audit.encode(struct, raise_on_not_loaded?: false)) - end - - def include_change(audit_entry, map) when is_map(map) do - # sometimes a hand-crafted map is passed; we don't need to encode then - audit_entry - |> change() - |> put_change(:change, map) - end - - def persist!(entry) do - Plausible.Repo.insert!(entry) - end - - defp get_context() do - case :logger.get_process_metadata() do - %{:__audit__ => audit_context} -> audit_context - %{} -> %{} - :undefined -> %{} - end - end - - def set_context(kv) when is_map(kv) do - :logger.update_process_metadata(%{:__audit__ => kv}) - end - - defp to_str(x) when is_binary(x), do: x - defp to_str(x) when is_atom(x), do: inspect(x) - defp to_str(x), do: to_string(x) -end diff --git a/extra/lib/plausible/audit/live_context.ex b/extra/lib/plausible/audit/live_context.ex deleted file mode 100644 index 45147069fe8c868d2ac7819aef8e5e490c22b525..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/audit/live_context.ex +++ /dev/null @@ -1,22 +0,0 @@ -defmodule Plausible.Audit.LiveContext do - @moduledoc """ - LiveView `on_mount` callback to provide audit context - """ - - defmacro __using__(_) do - quote do - on_mount Plausible.Audit.LiveContext - end - end - - def on_mount(:default, _params, _session, socket) do - if Phoenix.LiveView.connected?(socket) do - Plausible.Audit.set_context(%{ - current_user: socket.assigns[:current_user], - current_team: socket.assigns[:current_team] - }) - end - - {:cont, socket} - end -end diff --git a/extra/lib/plausible/auth/sso.ex b/extra/lib/plausible/auth/sso.ex deleted file mode 100644 index a92e3e97d8555dcc2cfeef678bb5ffdebf756346..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/auth/sso.ex +++ /dev/null @@ -1,548 +0,0 @@ -defmodule Plausible.Auth.SSO do - @moduledoc """ - API for SSO. - """ - - import Ecto.Changeset - import Ecto.Query - - alias Plausible.Auth - alias Plausible.Auth.SSO - alias Plausible.Billing.Subscription - alias Plausible.Repo - alias Plausible.Teams - - use Plausible.Auth.SSO.Domain.Status - - require Plausible.Billing.Subscription.Status - - @type policy_attr() :: - {:sso_default_role, Teams.Policy.sso_member_role()} - | {:sso_session_timeout_minutes, non_neg_integer()} - - @spec get_integration_for(Teams.Team.t()) :: {:ok, SSO.Integration.t()} | {:error, :not_found} - def get_integration_for(%Teams.Team{} = team) do - query = integration_query() |> where([i], i.team_id == ^team.id) - - if integration = Repo.one(query) do - {:ok, integration} - else - {:error, :not_found} - end - end - - @spec get_integration(String.t()) :: {:ok, SSO.Integration.t()} | {:error, :not_found} - def get_integration(identifier) when is_binary(identifier) do - query = integration_query() |> where([i], i.identifier == ^identifier) - - if integration = Repo.one(query) do - {:ok, integration} - else - {:error, :not_found} - end - end - - defp integration_query() do - from(i in SSO.Integration, - inner_join: t in assoc(i, :team), - as: :team, - left_join: d in assoc(i, :sso_domains), - as: :sso_domains, - preload: [team: t, sso_domains: d] - ) - end - - @spec initiate_saml_integration(Teams.Team.t()) :: SSO.Integration.t() - def initiate_saml_integration(team) do - changeset = SSO.Integration.init_changeset(team) - - Repo.insert_with_audit!( - changeset, - "saml_integration_initiated", - %{team_id: team.id}, - on_conflict: [set: [updated_at: NaiveDateTime.utc_now(:second)]], - conflict_target: :team_id, - returning: true - ) - end - - @spec update_integration(SSO.Integration.t(), map()) :: - {:ok, SSO.Integration.t()} | {:error, Ecto.Changeset.t()} - def update_integration(integration, params) do - changeset = SSO.Integration.update_changeset(integration, params) - - case Repo.update_with_audit(changeset, "sso_integration_updated", %{ - team_id: integration.team_id - }) do - {:ok, integration} -> {:ok, integration} - {:error, changeset} -> {:error, changeset.changes.config} - end - end - - @spec provision_user(SSO.Identity.t()) :: - {:ok, :standard | :sso | :integration, Teams.Team.t(), Auth.User.t()} - | {:error, :integration_not_found | :over_limit} - | {:error, :multiple_memberships | :active_personal_team, Teams.Team.t(), Auth.User.t()} - def provision_user(identity) do - case find_user(identity) do - {:ok, :standard, user, integration, domain} -> - provision_standard_user(user, identity, integration, domain) - - {:ok, :sso, user, integration, domain} -> - provision_sso_user(user, identity, integration, domain) - - {:ok, :integration, _, integration, domain} -> - provision_identity(identity, integration, domain) - - {:error, :not_found} -> - {:error, :integration_not_found} - end - end - - @spec deprovision_user!(Auth.User.t()) :: Auth.User.t() - def deprovision_user!(%{type: :standard} = user), do: user - - def deprovision_user!(user) do - user = Repo.preload(user, [:sso_integration, :sso_domain]) - - :ok = Auth.UserSessions.revoke_all(user) - - user - |> Ecto.Changeset.change() - |> Ecto.Changeset.put_change(:type, :standard) - |> Ecto.Changeset.put_change(:sso_identity_id, nil) - |> Ecto.Changeset.put_assoc(:sso_integration, nil) - |> Ecto.Changeset.put_assoc(:sso_domain, nil) - |> Repo.update_with_audit!("sso_user_deprovioned", %{team_id: user.sso_integration.team_id}) - end - - @spec update_policy(Teams.Team.t(), [policy_attr()]) :: - {:ok, Teams.Team.t()} | {:error, Ecto.Changeset.t()} - def update_policy(team, attrs \\ []) do - params = Map.new(attrs) - - changeset = - team - |> Ecto.Changeset.cast(%{policy: params}, []) - |> Ecto.Changeset.cast_embed(:policy, with: &Teams.Policy.update_changeset/2) - - case Repo.update_with_audit(changeset, "sso_policy_updated", %{team_id: team.id}) do - {:ok, integration} -> {:ok, integration} - {:error, changeset} -> {:error, changeset.changes.policy} - end - end - - @spec set_force_sso(Teams.Team.t(), Teams.Policy.force_sso_mode()) :: - {:ok, Teams.Team.t()} - | {:error, - :no_integration - | :no_domain - | :no_verified_domain - | :owner_2fa_disabled - | :no_sso_user} - def set_force_sso(team, mode) do - with :ok <- check_force_sso(team, mode) do - params = %{policy: %{force_sso: mode}} - - team - |> Ecto.Changeset.cast(params, []) - |> Ecto.Changeset.cast_embed(:policy, - with: &Teams.Policy.force_sso_changeset(&1, &2.force_sso) - ) - |> Repo.update_with_audit("sso_force_mode_changed", %{team_id: team.id}) - end - end - - @spec check_force_sso(Teams.Team.t(), Teams.Policy.force_sso_mode()) :: - :ok - | {:error, - :no_integration - | :no_domain - | :no_verified_domain - | :owner_2fa_disabled - | :no_sso_user} - def check_force_sso(_team, :none), do: :ok - - def check_force_sso(team, :all_but_owners) do - with :ok <- check_integration_configured(team), - :ok <- check_sso_user_present(team) do - check_owners_2fa_enabled(team) - end - end - - @spec check_can_remove_integration(SSO.Integration.t()) :: - :ok | {:error, :force_sso_enabled | :sso_users_present} - def check_can_remove_integration(integration) do - team = Repo.preload(integration, :team).team - - cond do - team.policy.force_sso != :none -> - {:error, :force_sso_enabled} - - check_sso_user_present(integration) == :ok -> - {:error, :sso_users_present} - - true -> - :ok - end - end - - @spec remove_integration(SSO.Integration.t(), Keyword.t()) :: - :ok | {:error, :force_sso_enabled | :sso_users_present} - def remove_integration(integration, opts \\ []) do - force_deprovision? = Keyword.get(opts, :force_deprovision?, false) - check = check_can_remove_integration(integration) - - case {check, force_deprovision?} do - {:ok, _} -> - {:ok, :ok} = - Repo.transaction(fn -> - integration = Repo.preload(integration, :sso_domains) - Enum.each(integration.sso_domains, &SSO.Domains.cancel_verification(&1.domain)) - - Repo.delete_with_audit!(integration, "sso_integration_removed", %{ - team_id: integration.team_id - }) - - :ok - end) - - :ok - - {{:error, :sso_users_present}, true} -> - {:ok, :ok} = - Repo.transaction(fn -> - users = Repo.preload(integration, :users).users - integration = Repo.preload(integration, :sso_domains) - Enum.each(users, &deprovision_user!/1) - Enum.each(integration.sso_domains, &SSO.Domains.cancel_verification(&1.domain)) - - Repo.delete_with_audit!(integration, "sso_integration_removed", %{ - team_id: integration.team_id - }) - - :ok - end) - - :ok - - {{:error, error}, _} -> - {:error, error} - end - end - - @spec check_ready_to_provision(Auth.User.t(), Teams.Team.t()) :: - :ok | {:error, :not_a_member | :multiple_memberships | :active_personal_team} - def check_ready_to_provision(%{type: :sso} = _user, _team), do: :ok - - def check_ready_to_provision(user, team) do - result = - with :ok <- ensure_team_member(team, user), - :ok <- ensure_one_membership(user, team) do - ensure_empty_personal_team(user, team) - end - - case result do - :ok -> :ok - {:error, :integration_not_found} -> {:error, :not_a_member} - {:error, :multiple_memberships, _, _} -> {:error, :multiple_memberships} - {:error, :active_personal_team, _, _} -> {:error, :active_personal_team} - end - end - - defp check_integration_configured(team) do - integrations = - Repo.all( - from( - i in SSO.Integration, - left_join: d in assoc(i, :sso_domains), - where: i.team_id == ^team.id, - preload: [sso_domains: d] - ) - ) - - domains = Enum.flat_map(integrations, & &1.sso_domains) - no_verified_domains? = Enum.all?(domains, &(&1.status != Status.verified())) - - cond do - integrations == [] -> {:error, :no_integration} - domains == [] -> {:error, :no_domain} - no_verified_domains? -> {:error, :no_verified_domain} - true -> :ok - end - end - - defp check_sso_user_present(%Teams.Team{} = team) do - sso_user_count = - Repo.aggregate( - from( - tm in Teams.Membership, - inner_join: u in assoc(tm, :user), - where: tm.team_id == ^team.id, - where: tm.role != :guest, - where: u.type == :sso - ), - :count - ) - - if sso_user_count > 0 do - :ok - else - {:error, :no_sso_user} - end - end - - defp check_sso_user_present(%SSO.Integration{} = integration) do - sso_user_count = - Repo.aggregate( - from( - i in SSO.Integration, - inner_join: u in assoc(i, :users), - inner_join: tm in assoc(u, :team_memberships), - on: tm.team_id == i.team_id, - where: i.id == ^integration.id, - where: tm.role != :guest, - where: u.type == :sso - ), - :count - ) - - if sso_user_count > 0 do - :ok - else - {:error, :no_sso_user} - end - end - - defp check_owners_2fa_enabled(team) do - disabled_2fa_count = - Repo.aggregate( - from( - tm in Teams.Membership, - inner_join: u in assoc(tm, :user), - where: tm.team_id == ^team.id, - where: tm.role == :owner, - where: u.totp_enabled == false or is_nil(u.totp_secret) - ), - :count - ) - - if disabled_2fa_count == 0 do - :ok - else - {:error, :owner_2fa_disabled} - end - end - - defp find_user(identity) do - case find_user_with_fallback(identity) do - {:ok, type, user, integration, domain} -> - {:ok, type, Repo.preload(user, [:sso_integration, :sso_domain]), integration, domain} - - {:error, _} = error -> - error - end - end - - defp find_user_with_fallback(identity) do - with {:ok, integration} <- get_integration(identity.integration_id), - {:error, :not_found} <- find_by_identity(identity, integration) do - find_by_email(identity.email, integration) - end - end - - defp find_by_identity(identity, integration) do - if user = - Repo.get_by(Auth.User, - sso_integration_id: integration.id, - sso_identity_id: identity.id, - type: :sso - ) do - with {:ok, sso_domain} <- SSO.Domains.lookup(identity.email), - :ok <- check_domain_integration_match(sso_domain, integration) do - user = Repo.preload(user, sso_integration: :team) - - {:ok, user.type, user, user.sso_integration, sso_domain} - end - else - {:error, :not_found} - end - end - - defp find_by_email(email, integration) do - with {:ok, sso_domain} <- SSO.Domains.lookup(email), - :ok <- check_domain_integration_match(sso_domain, integration) do - case find_in_team_by_email(sso_domain.sso_integration.team, email) do - {:ok, user} -> - {:ok, user.type, user, sso_domain.sso_integration, sso_domain} - - {:error, :not_found} -> - {:ok, :integration, nil, sso_domain.sso_integration, sso_domain} - end - end - end - - defp find_in_team_by_email(team, email) do - result = - Repo.one( - from( - u in Auth.User, - inner_join: tm in assoc(u, :team_memberships), - where: u.email == ^email, - where: tm.team_id == ^team.id, - where: tm.role != :guest - ) - ) - - if result do - {:ok, result} - else - {:error, :not_found} - end - end - - defp check_domain_integration_match(sso_domain, integration) do - if sso_domain.sso_integration_id == integration.id do - :ok - else - {:error, :not_found} - end - end - - defp provision_sso_user(user, identity, integration, domain) do - changeset = - user - |> change() - |> put_change(:email, identity.email) - |> put_change(:name, identity.name) - |> put_change(:sso_identity_id, identity.id) - |> put_change(:last_sso_login, NaiveDateTime.utc_now(:second)) - |> put_assoc(:sso_domain, domain) - - with {:ok, user} <- - Repo.update_with_audit(changeset, "sso_user_provisioned", %{ - team_id: integration.team_id - }) do - {:ok, :sso, integration.team, user} - end - end - - defp provision_standard_user(user, identity, integration, domain) do - changeset = - user - |> change() - |> put_change(:type, :sso) - |> put_change(:name, identity.name) - |> put_change(:sso_identity_id, identity.id) - |> put_change(:last_sso_login, NaiveDateTime.utc_now(:second)) - |> put_assoc(:sso_integration, integration) - |> put_assoc(:sso_domain, domain) - - with :ok <- ensure_team_member(integration.team, user), - :ok <- ensure_one_membership(user, integration.team), - :ok <- ensure_empty_personal_team(user, integration.team), - :ok <- Auth.UserSessions.revoke_all(user), - {:ok, user} <- - Repo.update_with_audit(changeset, "sso_user_provisioned", %{ - team_id: integration.team_id - }) do - {:ok, :standard, integration.team, user} - end - end - - defp provision_identity(identity, integration, domain) do - random_password = - 64 - |> :crypto.strong_rand_bytes() - |> Base.encode64(padding: false) - - params = %{ - email: identity.email, - name: identity.name, - password: random_password, - password_confirmation: random_password - } - - changeset = - Auth.User.new(params) - |> put_change(:email_verified, true) - |> put_change(:type, :sso) - |> put_change(:sso_identity_id, identity.id) - |> put_change(:last_sso_login, NaiveDateTime.utc_now(:second)) - |> put_assoc(:sso_integration, integration) - |> put_assoc(:sso_domain, domain) - - team = integration.team - role = integration.team.policy.sso_default_role - now = NaiveDateTime.utc_now(:second) - - result = - Repo.transaction(fn -> - with {:ok, user} <- - Repo.insert_with_audit(changeset, "sso_user_provisioned", %{team_id: team.id}), - :ok <- Teams.Invitations.check_team_member_limit(team, role, user.email), - {:ok, team_membership} <- - Teams.Invitations.create_team_membership(team, role, user, now) do - if team_membership.role != :guest do - {:identity, team, user} - else - Repo.rollback(:integration_not_found) - end - else - {:error, %{errors: [email: {_, attrs}]}} -> - true = {:constraint, :unique} in attrs - Repo.rollback(:integration_not_found) - - {:error, {:over_limit, _}} -> - Repo.rollback(:over_limit) - end - end) - - case result do - {:ok, {type, team, user}} -> - {:ok, type, team, user} - - {:error, _} = error -> - error - end - end - - defp ensure_team_member(team, user) do - case Teams.Memberships.team_role(team, user) do - {:ok, role} when role != :guest -> - :ok - - _ -> - {:error, :integration_not_found} - end - end - - defp ensure_one_membership(user, team) do - if Teams.Users.team_member?(user, except: [team.id], only_setup?: true) do - {:error, :multiple_memberships, team, user} - else - :ok - end - end - - defp ensure_empty_personal_team(user, team) do - case Teams.get_by_owner(user, only_not_setup?: true) do - {:ok, personal_team} -> - subscription = Teams.Billing.get_subscription(personal_team) - - no_subscription? = - is_nil(subscription) or subscription.status == Subscription.Status.deleted() - - zero_sites? = Teams.owned_sites_count(personal_team) == 0 - - if no_subscription? and zero_sites? do - :ok - else - {:error, :active_personal_team, team, user} - end - - {:error, :no_team} -> - :ok - end - end -end diff --git a/extra/lib/plausible/auth/sso/domain.ex b/extra/lib/plausible/auth/sso/domain.ex deleted file mode 100644 index 572026eba564fc857ff6f067f1061b4f66d982d4..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/auth/sso/domain.ex +++ /dev/null @@ -1,133 +0,0 @@ -defmodule Plausible.Auth.SSO.Domain do - @moduledoc """ - Once SSO integration is initiated, it's possible to start - allow-listing domains for it, in parallel with finalizing - the setup on IdP's end. - - Each pending domain should be periodically checked for - ownership verification by testing for presence of TXT record, meta tag - or URL. The moment whichever of them succeeds first, - the domain is marked as verified with method and timestamp - recorded. - """ - - use Ecto.Schema - - import Ecto.Changeset - - alias Plausible.Auth.SSO - - @type t() :: %__MODULE__{} - - @verification_methods [:dns_txt, :url, :meta_tag] - @type verification_method() :: unquote(Enum.reduce(@verification_methods, &{:|, [], [&1, &2]})) - - @spec verification_methods() :: list(verification_method()) - def verification_methods(), do: @verification_methods - - use Plausible.Auth.SSO.Domain.Status - - @derive {Plausible.Audit.Encoder, - only: [:id, :identifier, :domain, :verified_via, :status, :sso_integration], - allow_not_loaded: [:sso_integration]} - - schema "sso_domains" do - field :identifier, Ecto.UUID - field :domain, :string - field :verified_via, Ecto.Enum, values: @verification_methods - field :last_verified_at, :naive_datetime - - field :status, Ecto.Enum, - values: Status.all(), - default: Status.pending() - - belongs_to :sso_integration, Plausible.Auth.SSO.Integration - - timestamps() - end - - @spec create_changeset(SSO.Integration.t(), String.t() | nil) :: Ecto.Changeset.t() - def create_changeset(integration, domain) do - %__MODULE__{} - |> cast(%{domain: domain}, [:domain]) - |> validate_required(:domain) - |> normalize_domain(:domain) - |> validate_domain(:domain) - |> unique_constraint(:domain, message: "is already in use") - |> put_change(:identifier, Ecto.UUID.generate()) - |> put_assoc(:sso_integration, integration) - end - - @spec verified_changeset(t(), verification_method(), NaiveDateTime.t()) :: - Ecto.Changeset.t() - def verified_changeset(sso_domain, method, now \\ NaiveDateTime.utc_now(:second)) do - sso_domain - |> change() - |> put_change(:verified_via, method) - |> put_change(:last_verified_at, now) - |> put_change(:status, Status.verified()) - end - - @spec unverified_changeset(t(), atom(), NaiveDateTime.t()) :: Ecto.Changeset.t() - def unverified_changeset( - sso_domain, - status \\ Status.in_progress(), - now \\ NaiveDateTime.utc_now(:second) - ) do - sso_domain - |> change() - |> put_change(:verified_via, nil) - |> put_change(:last_verified_at, now) - |> put_change(:status, status) - end - - @spec valid_domain?(String.t()) :: boolean() - def valid_domain?(domain) do - # This is not a surefire way to ensure the domain is correct, - # but it should give a bit more confidence that it's at least - # resolvable. - case URI.new("https://" <> domain) do - {:ok, %{host: host, port: port, path: nil, query: nil, fragment: nil, userinfo: nil}} - when is_binary(host) and port in [80, 443] -> - true - - _ -> - false - end - end - - defp normalize_domain(changeset, field) do - if domain = get_change(changeset, field) do - # We try to clear the usual copy-paste prefixes. - normalized = - domain - |> String.trim() - |> String.downcase() - |> String.split("://", parts: 2) - |> List.last() - |> String.trim("/") - - case URI.new("https://" <> normalized) do - {:ok, %{host: host}} when is_binary(host) and host != "" -> - put_change(changeset, field, host) - - _ -> - put_change(changeset, field, normalized) - end - else - changeset - end - end - - defp validate_domain(changeset, field) do - if domain = get_change(changeset, field) do - if valid_domain?(domain) do - changeset - else - add_error(changeset, field, "invalid domain", validation: :domain) - end - else - changeset - end - end -end diff --git a/extra/lib/plausible/auth/sso/domain/status.ex b/extra/lib/plausible/auth/sso/domain/status.ex deleted file mode 100644 index 730417f37a286b19e3ff5fe081bcd2093920d2de..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/auth/sso/domain/status.ex +++ /dev/null @@ -1,21 +0,0 @@ -defmodule Plausible.Auth.SSO.Domain.Status do - @moduledoc false - - defmacro __using__(opts) do - as = Keyword.get(opts, :as, Status) - - quote do - require Plausible.Auth.SSO.Domain.Status - alias Plausible.Auth.SSO.Domain.Status, as: unquote(as) - end - end - - defmacro pending(), do: :pending - defmacro in_progress(), do: :in_progress - defmacro verified(), do: :verified - defmacro unverified(), do: :unverified - - defmacro all() do - [pending(), in_progress(), verified(), unverified()] - end -end diff --git a/extra/lib/plausible/auth/sso/domain/verification.ex b/extra/lib/plausible/auth/sso/domain/verification.ex deleted file mode 100644 index 329fec425d9e1fad99835c932c2e5759e26fc82c..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/auth/sso/domain/verification.ex +++ /dev/null @@ -1,142 +0,0 @@ -defmodule Plausible.Auth.SSO.Domain.Verification do - @moduledoc """ - SSO domain ownership verification chain - - 1. DNS TXT `{domain}` record lookup. - Successful expectation contains `plausible-sso-verification={domain-identifier}` record. - - 2. HTTP GET lookup at `https://{domain}/plausible-sso-verification` - Successful expectation contains `{domain-identifier}` in the body. - - 3. META tag lookup at `https://{domain}` - Successful expectation contains: - - ```html - - ``` - - in the body of `text/html` type. - """ - - alias Plausible.Auth.SSO.Domain - - @prefix "plausible-sso-verification" - - @spec run(String.t(), String.t(), Keyword.t()) :: - {:ok, Domain.verification_method()} | {:error, :unverified} - def run(sso_domain, domain_identifier, opts \\ []) do - available_methods = Domain.verification_methods() - methods = Keyword.get(opts, :methods, available_methods) - true = Enum.all?(methods, &(&1 in available_methods)) - - Enum.reduce_while(methods, {:error, :unverified}, fn method, acc -> - case apply(__MODULE__, method, [sso_domain, domain_identifier, opts]) do - true -> {:halt, {:ok, method}} - false -> {:cont, acc} - end - end) - end - - @spec url(String.t(), String.t(), Keyword.t()) :: boolean() - def url(sso_domain, domain_identifier, opts \\ []) do - url_override = Keyword.get(opts, :url_override) - resp = run_request(url_override || "https://" <> Path.join(sso_domain, @prefix)) - - case resp do - %Req.Response{body: body} - when is_binary(body) -> - String.trim(body) == domain_identifier - - _ -> - false - end - end - - @spec meta_tag(String.t(), String.t(), Keyword.t()) :: boolean() - def meta_tag(sso_domain, domain_identifier, opts \\ []) do - url_override = Keyword.get(opts, :url_override) - - with %Req.Response{body: body} = response when is_binary(body) <- - run_request(url_override || "https://#{sso_domain}"), - true <- html?(response), - html <- LazyHTML.from_document(body), - [_ | _] <- - LazyHTML.query(html, ~s|meta[name="#{@prefix}"][content="#{domain_identifier}"]|) - |> Enum.into([]) do - true - else - _ -> - false - end - end - - @spec dns_txt(String.t(), String.t()) :: boolean() - def dns_txt(sso_domain, domain_identifier, opts \\ []) do - record_value = to_charlist("#{@prefix}=#{domain_identifier}") - - timeout = Keyword.get(opts, :timeout, 5_000) - nameservers = Keyword.get(opts, :nameservers) - - lookup_opts = - case nameservers do - nil -> - [timeout: timeout] - - [_ | _] -> - [timeout: timeout, nameservers: nameservers] - end - - sso_domain - |> to_charlist() - |> :inet_res.lookup(:in, :txt, lookup_opts, timeout) - |> Enum.find_value(false, fn - [^record_value] -> true - _ -> false - end) - end - - defp html?(%Req.Response{headers: headers}) do - headers - |> Map.get("content-type", "") - |> List.wrap() - |> List.first() - |> String.contains?("text/html") - end - - defp run_request(base_url) do - fetch_body_opts = Application.get_env(:plausible, __MODULE__)[:req_opts] || [] - - opts = - Keyword.merge( - [ - base_url: base_url, - max_redirects: 4, - max_retries: 3, - retry_log_level: :warning - ], - fetch_body_opts - ) - - {_req, resp} = opts |> Req.new() |> Req.Request.run_request() - resp - end - - @after_compile __MODULE__ - def __after_compile__(_env, _bytecode) do - available_methods = Domain.verification_methods() - - exported_funs = - :functions - |> __MODULE__.__info__() - |> Enum.map(&elem(&1, 0)) - - Enum.each( - available_methods, - fn method -> - if method not in exported_funs do - raise "#{method} must be implemented in #{__MODULE__}" - end - end - ) - end -end diff --git a/extra/lib/plausible/auth/sso/domain/verification/worker.ex b/extra/lib/plausible/auth/sso/domain/verification/worker.ex deleted file mode 100644 index be5b6400758527c283b7678a84bb342a449e444e..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/auth/sso/domain/verification/worker.ex +++ /dev/null @@ -1,126 +0,0 @@ -defmodule Plausible.Auth.SSO.Domain.Verification.Worker do - @moduledoc """ - Background service validating SSO domains ownership - - `bypass_checks` and `skip_checks` job args are for testing purposes only - (former will fail the verification, latter will succeed with `dns_txt` method) - """ - use Oban.Worker, - queue: :sso_domain_ownership_verification, - unique: true - - use Plausible.Auth.SSO.Domain.Status - - alias Plausible.Auth.SSO - alias Plausible.Repo - - # roughly around 34h, given the snooze back-off - @max_snoozes 14 - - @spec cancel(String.t()) :: :ok - def cancel(domain) do - {:ok, job} = - %{domain: domain} - |> new() - |> Oban.insert() - - Oban.cancel_job(job) - end - - @spec enqueue(String.t()) :: {:ok, Oban.Job.t()} - def enqueue(domain) do - {:ok, job} = - %{domain: domain} - |> new() - |> Oban.insert() - - :ok = Oban.retry_job(job) - {:ok, job} - end - - @impl true - def perform(%{ - attempt: attempt, - meta: meta, - args: %{"domain" => domain} - }) - when attempt <= @max_snoozes do - service_opts = [ - skip_checks?: meta["skip_checks"] == true, - verification_opts: [ - nameservers: Application.get_env(:plausible, :sso_verification_nameservers) - ] - ] - - service_opts = - if meta["bypass_checks"] == true do - Keyword.merge(service_opts, verification_opts: [methods: []]) - else - service_opts - end - - case SSO.Domains.get(domain) do - {:ok, sso_domain} -> - case SSO.Domains.verify(sso_domain, service_opts) do - %SSO.Domain{status: Status.verified()} = verified -> - verification_complete(sso_domain) - {:ok, verified} - - _ -> - {:snooze, snooze_backoff(attempt)} - end - - {:error, :not_found} -> - {:cancel, :domain_not_found} - end - end - - def perform(job) do - verification_failure(job.args["domain"]) - {:cancel, :max_snoozes} - end - - defp verification_complete(sso_domain) do - send_success_notification(sso_domain) - - :ok - end - - defp verification_failure(domain) do - with {:ok, sso_domain} <- SSO.Domains.get(domain) do - sso_domain - |> SSO.Domains.mark_verification_failure!() - |> send_failure_notification() - end - - :ok - end - - defp send_success_notification(sso_domain) do - owners = Repo.preload(sso_domain.sso_integration.team, :owners).owners - - Enum.each(owners, fn owner -> - sso_domain.domain - |> PlausibleWeb.Email.sso_domain_verification_success(owner) - |> Plausible.Mailer.send() - end) - - :ok - end - - defp send_failure_notification(sso_domain) do - owners = Repo.preload(sso_domain.sso_integration.team, :owners).owners - - Enum.each(owners, fn owner -> - sso_domain.domain - |> PlausibleWeb.Email.sso_domain_verification_failure(owner) - |> Plausible.Mailer.send() - end) - - :ok - end - - defp snooze_backoff(attempt) do - trunc(:math.pow(2, attempt - 1) * 15) - end -end diff --git a/extra/lib/plausible/auth/sso/domains.ex b/extra/lib/plausible/auth/sso/domains.ex deleted file mode 100644 index dee39c5c93366ca0c83ebac4c2a2db1fa6021660..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/auth/sso/domains.ex +++ /dev/null @@ -1,241 +0,0 @@ -defmodule Plausible.Auth.SSO.Domains do - @moduledoc """ - API for SSO domains. - """ - - import Ecto.Query - - alias Plausible.Auth - alias Plausible.Auth.SSO - alias Plausible.Auth.SSO.Domain.Verification - alias Plausible.Repo - - use Plausible.Auth.SSO.Domain.Status - - @spec add(SSO.Integration.t(), String.t()) :: - {:ok, SSO.Domain.t()} | {:error, Ecto.Changeset.t()} - def add(integration, domain) do - changeset = SSO.Domain.create_changeset(integration, domain) - - Repo.insert_with_audit(changeset, "sso_domain_added", %{team_id: integration.team_id}) - end - - @spec start_verification(String.t()) :: SSO.Domain.t() - def start_verification(domain) when is_binary(domain) do - {:ok, result} = - Repo.transaction(fn -> - with {:ok, sso_domain} <- get(domain) do - sso_domain = - sso_domain - |> SSO.Domain.unverified_changeset(Status.in_progress()) - |> Repo.update_with_audit!( - "sso_domain_verification_started", - %{team_id: sso_domain.sso_integration.team_id} - ) - - {:ok, _} = Verification.Worker.enqueue(domain) - {:ok, sso_domain} - end - end) - - result - end - - @spec cancel_verification(String.t()) :: :ok - def cancel_verification(domain) when is_binary(domain) do - {:ok, :ok} = - Repo.transaction(fn -> - with {:ok, sso_domain} <- get(domain) do - sso_domain - |> SSO.Domain.unverified_changeset(Status.unverified()) - |> Repo.update_with_audit("sso_domain_verification_cancelled", %{ - team_id: sso_domain.sso_integration.team_id - }) - end - - :ok = Verification.Worker.cancel(domain) - end) - - :ok - end - - @spec verify(SSO.Domain.t(), Keyword.t()) :: SSO.Domain.t() - def verify(%SSO.Domain{} = sso_domain, opts \\ []) do - skip_checks? = Keyword.get(opts, :skip_checks?, false) - verification_opts = Keyword.get(opts, :verification_opts, []) - now = Keyword.get(opts, :now, NaiveDateTime.utc_now(:second)) - - if skip_checks? do - mark_verified!(sso_domain, :dns_txt, now) - else - case SSO.Domain.Verification.run( - sso_domain.domain, - sso_domain.identifier, - verification_opts - ) do - {:ok, step} -> - mark_verified!(sso_domain, step, now) - - {:error, :unverified} -> - sso_domain - |> SSO.Domain.unverified_changeset(Status.in_progress(), now) - |> Repo.update!() - end - end - end - - @spec get(String.t()) :: {:ok, SSO.Domain.t()} | {:error, :not_found} - def get(domain) when is_binary(domain) do - result = - from( - d in SSO.Domain, - inner_join: i in assoc(d, :sso_integration), - inner_join: t in assoc(i, :team), - where: d.domain == ^domain, - preload: [sso_integration: {i, team: t}] - ) - |> Repo.one() - - if result do - {:ok, result} - else - {:error, :not_found} - end - end - - @spec lookup(String.t()) :: {:ok, SSO.Domain.t()} | {:error, :not_found} - def lookup(domain_or_email) when is_binary(domain_or_email) do - search = normalize_lookup(domain_or_email) - - result = - from( - d in SSO.Domain, - inner_join: i in assoc(d, :sso_integration), - inner_join: t in assoc(i, :team), - where: d.domain == ^search, - where: d.status == ^Status.verified(), - preload: [sso_integration: {i, team: t}] - ) - |> Repo.one() - - if result do - {:ok, result} - else - {:error, :not_found} - end - end - - @spec remove(SSO.Domain.t(), Keyword.t()) :: - :ok | {:error, :force_sso_enabled | :sso_users_present} - def remove(sso_domain, opts \\ []) do - sso_domain = Repo.preload(sso_domain, :sso_integration) - force_deprovision? = Keyword.get(opts, :force_deprovision?, false) - - check = check_can_remove(sso_domain) - - case {check, force_deprovision?} do - {:ok, _} -> - {:ok, :ok} = - Repo.transaction(fn -> - Repo.delete_with_audit!(sso_domain, "sso_domain_removed", %{ - team_id: sso_domain.sso_integration.team_id - }) - - :ok = cancel_verification(sso_domain.domain) - end) - - :ok - - {{:error, :sso_users_present}, true} -> - {:ok, :ok} = - Repo.transaction(fn -> - domain_users = users_by_domain(sso_domain) - Enum.each(domain_users, &SSO.deprovision_user!/1) - - Repo.delete_with_audit!(sso_domain, "sso_domain_removed", %{ - team_id: sso_domain.sso_integration.team_id - }) - - cancel_verification(sso_domain.domain) - end) - - :ok - - {{:error, error}, _} -> - {:error, error} - end - end - - @spec check_can_remove(SSO.Domain.t()) :: - :ok | {:error, :force_sso_enabled | :sso_users_present} - def check_can_remove(sso_domain) do - sso_domain = Repo.preload(sso_domain, sso_integration: [:team, :sso_domains]) - team = sso_domain.sso_integration.team - domain_users_count = sso_domain |> users_by_domain_query() |> Repo.aggregate(:count) - - integration_users_count = - sso_domain.sso_integration |> users_by_integration_query() |> Repo.aggregate(:count) - - only_domain_with_users? = - domain_users_count > 0 and integration_users_count == domain_users_count - - cond do - team.policy.force_sso != :none and only_domain_with_users? -> - {:error, :force_sso_enabled} - - domain_users_count > 0 -> - {:error, :sso_users_present} - - true -> - :ok - end - end - - @spec mark_verified!(SSO.Domain.t(), SSO.Domain.verification_method(), NaiveDateTime.t()) :: - SSO.Domain.t() - def mark_verified!(sso_domain, method, now \\ NaiveDateTime.utc_now(:second)) do - sso_domain - |> SSO.Domain.verified_changeset(method, now) - |> Repo.update_with_audit!("sso_domain_verification_success", %{ - team_id: sso_domain.sso_integration.team_id - }) - end - - @spec mark_verification_failure!(SSO.Domain.t()) :: SSO.Domain.t() - def mark_verification_failure!(sso_domain) do - sso_domain - |> SSO.Domain.unverified_changeset(Status.unverified()) - |> Repo.update_with_audit!("sso_domain_verification_failure", %{ - team_id: sso_domain.sso_integration.team_id - }) - end - - defp users_by_domain(sso_domain) do - sso_domain - |> users_by_domain_query() - |> Repo.all() - end - - defp users_by_domain_query(sso_domain) do - from( - u in Auth.User, - where: u.sso_domain_id == ^sso_domain.id - ) - end - - defp users_by_integration_query(sso_integration) do - from( - u in Auth.User, - where: u.sso_integration_id == ^sso_integration.id, - where: u.type == :sso - ) - end - - defp normalize_lookup(domain_or_email) do - domain_or_email - |> String.split("@", parts: 2) - |> List.last() - |> String.trim() - |> String.downcase() - end -end diff --git a/extra/lib/plausible/auth/sso/identity.ex b/extra/lib/plausible/auth/sso/identity.ex deleted file mode 100644 index 1a0c3e538c41fd3c7a85743cfe02392dbb91bdcd..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/auth/sso/identity.ex +++ /dev/null @@ -1,11 +0,0 @@ -defmodule Plausible.Auth.SSO.Identity do - @moduledoc """ - SSO Identity struct. - """ - - @type t() :: %__MODULE__{} - - @derive Plausible.Audit.Encoder - @enforce_keys [:id, :integration_id, :name, :email, :expires_at] - defstruct [:id, :integration_id, :name, :email, :expires_at] -end diff --git a/extra/lib/plausible/auth/sso/integration.ex b/extra/lib/plausible/auth/sso/integration.ex deleted file mode 100644 index 885e31af817408569eaaace1d2521cc0c068aa83..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/auth/sso/integration.ex +++ /dev/null @@ -1,80 +0,0 @@ -defmodule Plausible.Auth.SSO.Integration do - @moduledoc """ - Instance of particular SSO integration for a given team. - - Configuration is embedded and its type is dynamic, paving the - way for potentially supporting other SSO mechanisms in the future, - like OIDC. - - The UUID identifier can be used to uniquely identify the integration - when configuring external services like IdPs. - """ - - use Ecto.Schema - - import Ecto.Changeset - import PolymorphicEmbed - - alias Plausible.Auth.SSO - alias Plausible.Teams - - @type t() :: %__MODULE__{} - - @derive {Plausible.Audit.Encoder, only: [:id, :identifier]} - - schema "sso_integrations" do - field :identifier, Ecto.UUID - - polymorphic_embeds_one :config, - types: [ - saml: SSO.SAMLConfig - ], - on_type_not_found: :raise, - on_replace: :update - - belongs_to :team, Plausible.Teams.Team - has_many :users, Plausible.Auth.User, foreign_key: :sso_integration_id - has_many :sso_domains, SSO.Domain, foreign_key: :sso_integration_id - - timestamps() - end - - @spec configured?(t()) :: boolean() - def configured?(%__MODULE__{config: %config_mod{} = config}) do - config_mod.configured?(config) - end - - @spec init_changeset(Teams.Team.t()) :: Ecto.Changeset.t() - def init_changeset(team) do - params = %{config: %{__type__: :saml}} - - %__MODULE__{} - |> cast(params, []) - |> put_change(:identifier, Ecto.UUID.generate()) - |> cast_polymorphic_embed(:config) - |> put_assoc(:team, team) - end - - @spec update_changeset(t(), map()) :: Ecto.Changeset.t() - def update_changeset(integration, config_params) do - params = tag_params(:saml, config_params) - - integration - |> cast(params, []) - |> cast_polymorphic_embed(:config, - with: [ - saml: &SSO.SAMLConfig.update_changeset/2 - ] - ) - end - - defp tag_params(type, params) when is_atom(type) and is_map(params) do - case Enum.take(params, 1) do - [{key, _}] when is_binary(key) -> - %{"config" => Map.merge(%{"__type__" => Atom.to_string(type)}, params)} - - _ -> - %{config: Map.merge(%{__type__: type}, params)} - end - end -end diff --git a/extra/lib/plausible/auth/sso/saml_config.ex b/extra/lib/plausible/auth/sso/saml_config.ex deleted file mode 100644 index 07071660d8a944e5848ecc4cf0999c42371fe201..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/auth/sso/saml_config.ex +++ /dev/null @@ -1,106 +0,0 @@ -defmodule Plausible.Auth.SSO.SAMLConfig do - @moduledoc """ - SAML SSO can be configured in two ways - by either providing IdP - metadata XML or inputting required data one by one. - - If metadata is provided, the parameters are extracted but the - original metadata is preserved as well. This might be helpful - when updating configuration in the future to enable some other - feature like Single Logout without having to re-fetch metadata - from IdP again. - """ - - use Ecto.Schema - - alias Plausible.Auth.SSO - - import Ecto.Changeset - - @type t() :: %__MODULE__{} - - @fields [:idp_signin_url, :idp_entity_id, :idp_cert_pem, :idp_metadata] - @required_fields @fields -- [:idp_metadata] - - @derive {Plausible.Audit.Encoder, - only: [:id, :idp_signin_url, :idp_entity_id, :idp_cert_pem, :idp_metadata]} - - embedded_schema do - field :idp_signin_url, :string - field :idp_entity_id, :string - field :idp_cert_pem, :string - field :idp_metadata, :string - end - - @spec configured?(t()) :: boolean() - def configured?(config) do - !!(config.idp_signin_url && config.idp_entity_id && config.idp_cert_pem) - end - - @spec entity_id(SSO.Integration.t()) :: String.t() - def entity_id(integration) do - PlausibleWeb.Endpoint.url() <> "/sso/" <> integration.identifier - end - - @spec changeset(t(), map()) :: Ecto.Changeset.t() - def changeset(struct, params) do - struct - |> cast(params, @fields) - end - - @spec update_changeset(t(), map()) :: Ecto.Changeset.t() - def update_changeset(struct, params) do - struct - |> cast(params, @fields) - |> validate_required(@required_fields) - |> validate_url(:idp_signin_url) - |> validate_pem(:idp_cert_pem) - |> update_change(:idp_entity_id, &String.trim/1) - end - - defp validate_url(changeset, field) do - if url = get_change(changeset, field) do - case URI.new(url) do - {:ok, uri} when uri.scheme in ["http", "https"] -> changeset - _ -> add_error(changeset, field, "invalid URL", validation: :url) - end - else - changeset - end - end - - defp validate_pem(changeset, field) do - if pem = get_change(changeset, field) do - pem = clean_pem(pem) - - case parse_pem(pem) do - {:ok, _cert} -> put_change(changeset, field, pem) - {:error, _} -> add_error(changeset, field, "invalid certificate", validation: :cert_pem) - end - else - changeset - end - end - - defp parse_pem(pem) do - X509.Certificate.from_pem(pem) - catch - _, _ -> {:error, :failed_to_parse} - end - - defp clean_pem(pem) do - cleaned = - pem - |> String.split("\n") - |> Enum.map(&String.trim/1) - |> Enum.reject(&(&1 == "")) - |> Enum.join("\n") - |> String.trim() - - # Trying to account for PEM certificates without markers - if String.starts_with?(cleaned, "-----BEGIN CERTIFICATE-----") do - cleaned - else - "-----BEGIN CERTIFICATE-----\n" <> cleaned <> "\n-----END CERTIFICATE-----" - end - end -end diff --git a/extra/lib/plausible/consolidated_view.ex b/extra/lib/plausible/consolidated_view.ex deleted file mode 100644 index 60d6c066fbe568c64db8e96a0b32c8a1dca0c8a9..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/consolidated_view.ex +++ /dev/null @@ -1,232 +0,0 @@ -defmodule Plausible.ConsolidatedView do - @moduledoc """ - Contextual interface for consolidated views, - each implemented as Site object serving as - pointers to team's regular sites. - """ - - use Plausible - alias Plausible.ConsolidatedView - - import Ecto.Query - - alias Plausible.Teams - alias Plausible.Teams.Team - alias Plausible.{Repo, Site, Auth.User} - - import Ecto.Query - - @spec cta_dismissed?(User.t(), Team.t()) :: boolean() - def cta_dismissed?(%User{} = user, %Team{} = team) do - {:ok, team_membership} = Teams.Memberships.get_team_membership(team, user) - Teams.Memberships.get_preference(team_membership, :consolidated_view_cta_dismissed) - end - - @spec dismiss_cta(User.t(), Team.t()) :: :ok - def dismiss_cta(%User{} = user, %Team{} = team) do - {:ok, team_membership} = Teams.Memberships.get_team_membership(team, user) - Teams.Memberships.set_preference(team_membership, :consolidated_view_cta_dismissed, true) - - :ok - end - - @spec restore_cta(User.t(), Team.t()) :: :ok - def restore_cta(%User{} = user, %Team{} = team) do - {:ok, team_membership} = Teams.Memberships.get_team_membership(team, user) - - Teams.Memberships.set_preference( - team_membership, - :consolidated_view_cta_dismissed, - false - ) - - :ok - end - - @spec ok_to_display?(Team.t() | nil) :: boolean() - def ok_to_display?(team) do - is_struct(team, Team) and - view_enabled?(team) and - has_sites_to_consolidate?(team) and - Plausible.Billing.Feature.ConsolidatedView.check_availability(team) == :ok - end - - @spec reset_if_enabled(Team.t()) :: :ok - def reset_if_enabled(%Team{} = team) do - case get(team) do - nil -> - :skip - - consolidated_view -> - if has_sites_to_consolidate?(team) do - consolidated_view - |> change_stats_dates(team) - |> change_timezone(majority_sites_timezone(team)) - |> bump_updated_at() - |> Repo.update!() - else - disable(team) - end - end - - :ok - end - - @spec sites(Ecto.Query.t() | Site) :: Ecto.Query.t() - def sites(q \\ Site) do - from(s in q, where: s.consolidated == true) - end - - @spec enable(Team.t()) :: - {:ok, Site.t()} - | {:error, :no_sites | :team_not_setup | :upgrade_required | :contact_us} - def enable(%Team{} = team) do - availability_check = Plausible.Billing.Feature.ConsolidatedView.check_availability(team) - - cond do - not has_sites_to_consolidate?(team) -> - {:error, :no_sites} - - Teams.Billing.enterprise_configured?(team) and availability_check != :ok -> - {:error, :contact_us} - - availability_check != :ok -> - availability_check - - not Teams.setup?(team) -> - {:error, :team_not_setup} - - true -> - do_enable(team) - end - end - - @spec disable(Team.t()) :: :ok - def disable(%Team{} = team) do - # consider `Plausible.Site.Removal.run/1` if we ever support memberships or invitations - Plausible.Repo.delete_all(from(s in sites(), where: s.domain == ^make_id(team))) - :ok - end - - @spec site_ids(Team.t() | String.t()) :: {:ok, [pos_integer()]} | {:error, :not_found} - def site_ids(consolidated_view_id) when is_binary(consolidated_view_id) do - case get(consolidated_view_id) do - nil -> {:error, :not_found} - view -> {:ok, Teams.owned_sites_ids(view.team)} - end - end - - def site_ids(%Team{} = team) do - site_ids(team.identifier) - end - - @spec get(Team.t() | String.t()) :: Site.t() | nil - def get(team_or_id) - - def get(%Team{} = team) do - team |> make_id() |> get() - end - - def get(id) when is_binary(id) do - Repo.one( - from(s in sites(), inner_join: assoc(s, :team), where: s.domain == ^id, preload: [:team]) - ) - end - - @spec change_stats_dates(Site.t() | Ecto.Changeset.t(), Team.t()) :: - Ecto.Changeset.t() | Site.t() - def change_stats_dates(site_or_changeset, %Team{} = team) do - native_stats_start_at = native_stats_start_at(team) - - if native_stats_start_at do - start_date = NaiveDateTime.to_date(native_stats_start_at) - - site_or_changeset - |> Site.set_native_stats_start_at(native_stats_start_at) - |> Site.set_stats_start_date(start_date) - else - site_or_changeset - end - end - - @spec can_manage?(User.t(), Team.t()) :: boolean() - def can_manage?(user, team) do - case Plausible.Teams.Memberships.team_role(team, user) do - {:ok, role} when role not in [:viewer, :guest] -> - true - - _ -> - false - end - end - - defp change_timezone(site_or_changeset, timezone) do - Ecto.Changeset.change(site_or_changeset, timezone: timezone) - end - - defp bump_updated_at(struct_or_changeset) do - Ecto.Changeset.change(struct_or_changeset, updated_at: NaiveDateTime.utc_now(:second)) - end - - defp do_enable(%Team{} = team) do - case get(team) do - nil -> - {:ok, consolidated_view} = - team - |> Site.new_for_team(%{ - consolidated: true, - domain: make_id(team) - }) - |> change_timezone(majority_sites_timezone(team)) - |> change_stats_dates(team) - |> Repo.insert() - - {:ok, site_ids} = site_ids(team) - :ok = ConsolidatedView.Cache.broadcast_put(consolidated_view.domain, site_ids) - {:ok, consolidated_view} - - consolidated_view -> - {:ok, consolidated_view} - end - end - - defp make_id(%Team{} = team) do - team.identifier - end - - defp native_stats_start_at(%Team{} = team) do - q = - from(sr in Site.regular(), - group_by: sr.team_id, - where: sr.team_id == ^team.id, - select: min(sr.native_stats_start_at) - ) - - Repo.one(q) - end - - defp has_sites_to_consolidate?(%Team{} = team) do - Teams.owned_sites_count(team) > 1 - end - - defp majority_sites_timezone(%Team{} = team) do - q = - from(sr in Site.regular(), - where: sr.team_id == ^team.id, - group_by: sr.timezone, - select: {sr.timezone, count(sr.id)}, - order_by: [desc: count(sr.id), asc: sr.timezone], - limit: 1 - ) - - case Repo.one(q) do - {"UTC", _count} -> "Etc/UTC" - {timezone, _count} -> timezone - nil -> "Etc/UTC" - end - end - - defp view_enabled?(%Team{} = team) do - not is_nil(get(team)) - end -end diff --git a/extra/lib/plausible/consolidated_view/cache.ex b/extra/lib/plausible/consolidated_view/cache.ex deleted file mode 100644 index 970d2d6d62bbe1e0f3d881c334395d4fd07de5c3..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/consolidated_view/cache.ex +++ /dev/null @@ -1,104 +0,0 @@ -defmodule Plausible.ConsolidatedView.Cache do - @moduledoc """ - Caching layer for consolidated views. - - Because of how they're modelled (on top of "sites" table currently), - we have to refresh the cache whenever any regular site changes within, - as well as when the consolidating site is updated itself. - """ - alias Plausible.ConsolidatedView - import Ecto.Query - - use Plausible.Cache - - @cache_name :consolidated_views - @large_view_alert_threshold 12_000 - @max_sites_per_view 14_000 - - @impl true - def name(), do: @cache_name - - @impl true - def child_id(), do: :cache_consolidated_views - - @impl true - def count_all() do - Plausible.Repo.aggregate( - from(s in ConsolidatedView.sites()), - :count - ) - end - - @impl true - def base_db_query() do - from sc in ConsolidatedView.sites(), - inner_join: sr in ^Plausible.Site.regular(), - on: sr.team_id == sc.team_id, - group_by: sc.id, - order_by: [desc: sc.id], - select: %{ - consolidated_view_id: sc.domain, - site_ids: fragment("array_agg(? ORDER BY ? DESC)", sr.id, sr.id) - } - end - - @spec refresh_updated_recently(Keyword.t()) :: :ok - def refresh_updated_recently(opts) do - recently_updated_site_ids = - from sc in ConsolidatedView.sites(), - join: sr in ^Plausible.Site.regular(), - on: sc.team_id == sr.team_id, - where: sr.updated_at > ago(^15, "minute") or sc.updated_at > ago(^15, "minute"), - select: sc.id - - query = - from sc in ConsolidatedView.sites(), - join: sr in ^Plausible.Site.regular(), - on: sr.team_id == sc.team_id, - where: sc.id in subquery(recently_updated_site_ids), - group_by: sc.id, - order_by: [desc: sc.id], - select: %{ - consolidated_view_id: sc.domain, - site_ids: fragment("array_agg(? ORDER BY ? DESC)", sr.id, sr.id) - } - - refresh( - :updated_recently, - query, - Keyword.put(opts, :delete_stale_items?, false) - ) - end - - @impl true - def get_from_source(consolidated_view_id) do - case ConsolidatedView.site_ids(consolidated_view_id) do - {:ok, some} -> some - {:error, :not_found} -> nil - end - end - - @impl true - def unwrap_cache_keys(items) do - Enum.reduce(items, [], fn row, acc -> - [{row.consolidated_view_id, row.site_ids} | acc] - end) - end - - def get(key, opts) do - case super(key, opts) do - nil -> - [] - - site_ids when length(site_ids) > @large_view_alert_threshold -> - Sentry.capture_message("Consolidated View crop warning", - extra: %{sites: length(site_ids), key: key} - ) - - Enum.take(site_ids, @max_sites_per_view) - - site_ids -> - site_ids - end - end -end diff --git a/extra/lib/plausible/customer_support/enterprise_plan.ex b/extra/lib/plausible/customer_support/enterprise_plan.ex deleted file mode 100644 index 527a2d2077afe925b85618b8291c3414a287d8c3..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/customer_support/enterprise_plan.ex +++ /dev/null @@ -1,90 +0,0 @@ -defmodule Plausible.CustomerSupport.EnterprisePlan do - @moduledoc """ - Custom plan price estimation - """ - @spec estimate(Keyword.t()) :: Decimal.t() - def estimate(basis) do - basis = - Keyword.validate!(basis, [ - :billing_interval, - :pageviews_per_month, - :sites_limit, - :team_members_limit, - :api_calls_limit, - :features, - :managed_proxy_price_modifier - ]) - - pv_rate = - pv_rate(basis[:pageviews_per_month]) - - sites_rate = - sites_rate(basis[:sites_limit]) - - team_members_rate = team_members_rate(basis[:team_members_limit]) - - api_calls_rate = - api_calls_rate(basis[:api_calls_limit]) - - features_rate = - features_rate(basis[:features]) - - cost_per_month = - Decimal.from_float( - (pv_rate + - sites_rate + - team_members_rate + - api_calls_rate + - features_rate + managed_proxy_price_modifier(basis[:managed_proxy_price_modifier])) * - 1.0 - ) - |> Decimal.round(2) - - if basis[:billing_interval] == "monthly" do - cost_per_month - else - cost_per_month |> Decimal.mult(10) |> Decimal.round(2) - end - end - - def managed_proxy_price_modifier(true), do: 199.0 - def managed_proxy_price_modifier(_), do: 0 - - def pv_rate(pvs) when pvs <= 10_000, do: 19 - def pv_rate(pvs) when pvs <= 100_000, do: 39 - def pv_rate(pvs) when pvs <= 200_000, do: 59 - def pv_rate(pvs) when pvs <= 500_000, do: 99 - def pv_rate(pvs) when pvs <= 1_000_000, do: 139 - def pv_rate(pvs) when pvs <= 2_000_000, do: 179 - def pv_rate(pvs) when pvs <= 5_000_000, do: 259 - def pv_rate(pvs) when pvs <= 10_000_000, do: 339 - def pv_rate(pvs) when pvs <= 20_000_000, do: 639 - def pv_rate(pvs) when pvs <= 50_000_000, do: 1379 - def pv_rate(pvs) when pvs <= 100_000_000, do: 2059 - def pv_rate(pvs) when pvs <= 200_000_000, do: 3259 - def pv_rate(pvs) when pvs <= 300_000_000, do: 4739 - def pv_rate(pvs) when pvs <= 400_000_000, do: 5979 - def pv_rate(pvs) when pvs <= 500_000_000, do: 7459 - def pv_rate(pvs) when pvs <= 1_000_000_000, do: 14_439 - def pv_rate(_), do: 14_439 - - def sites_rate(n) when n <= 50, do: 0 - def sites_rate(n), do: n * 0.1 - - def team_members_rate(n) when n > 10, do: (n - 10) * 15 - def team_members_rate(_), do: 0 - - def api_calls_rate(n) when n <= 600, do: 0 - def api_calls_rate(n) when n > 600, do: round(n / 1_000) * 100 - - @feature_rates %{ - "sites_api" => 99, - "sso" => 299 - } - - def features_rate(features) do - features - |> Enum.map(&Map.get(@feature_rates, &1, 0)) - |> Enum.sum() - end -end diff --git a/extra/lib/plausible/customer_support/resource.ex b/extra/lib/plausible/customer_support/resource.ex deleted file mode 100644 index e50925eabec74245005abfe2db017f23fbd36275..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/customer_support/resource.ex +++ /dev/null @@ -1,48 +0,0 @@ -defmodule Plausible.CustomerSupport.Resource do - @moduledoc """ - Generic behaviour for CS resources - """ - defstruct [:id, :type, :module, :object, :path] - - @type schema() :: map() - - @type t() :: %__MODULE__{ - id: pos_integer(), - module: atom(), - object: schema(), - type: String.t() - } - - @callback search(String.t(), Keyword.t()) :: list(schema()) - @callback get(pos_integer()) :: schema() - @callback path(any()) :: String.t() - @callback dump(schema()) :: t() - - defmacro __using__(type: type) do - quote do - @behaviour Plausible.CustomerSupport.Resource - alias Plausible.CustomerSupport.Resource - alias PlausibleWeb.Router.Helpers, as: Routes - - import Ecto.Query - alias Plausible.Repo - - @impl true - def dump(schema) do - new(__MODULE__, schema) - end - - defoverridable dump: 1 - - def new(module, schema) do - %Resource{ - id: schema.id, - type: unquote(type), - path: module.path(schema.id), - module: module, - object: schema - } - end - end - end -end diff --git a/extra/lib/plausible/customer_support/resource/site.ex b/extra/lib/plausible/customer_support/resource/site.ex deleted file mode 100644 index 56fbc8aaafa72f9ff84cff3a8872255a9e893830..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/customer_support/resource/site.ex +++ /dev/null @@ -1,62 +0,0 @@ -defmodule Plausible.CustomerSupport.Resource.Site do - @moduledoc false - use Plausible.CustomerSupport.Resource, type: "site" - alias Plausible.Repo - - @impl true - def path(id) do - Routes.customer_support_site_path(PlausibleWeb.Endpoint, :show, id) - end - - @impl true - def search(input, opts \\ []) - - def search("", opts) do - limit = Keyword.fetch!(opts, :limit) - - q = - from s in Plausible.Site.regular(), - inner_join: t in assoc(s, :team), - inner_join: o in assoc(t, :owners), - order_by: [ - desc: :id - ], - limit: ^limit, - preload: [team: {t, owners: o}] - - Repo.all(q) - end - - def search(input, opts) do - limit = Keyword.fetch!(opts, :limit) - - q = - from s in Plausible.Site.regular(), - inner_join: t in assoc(s, :team), - inner_join: o in assoc(t, :owners), - left_join: tsc in assoc(s, :tracker_script_configuration), - where: - ilike(s.domain, ^"%#{input}%") or ilike(t.name, ^"%#{input}%") or - ilike(o.name, ^"%#{input}%") or ilike(o.email, ^"%#{input}%") or - ilike(s.domain_changed_from, ^"%#{input}%") or tsc.id == ^input, - order_by: [ - desc: fragment("?.domain = ?", s, ^input), - desc: fragment("?.domain_changed_from = ?", s, ^input), - desc: fragment("?.name = ?", t, ^input), - desc: fragment("?.name = ?", o, ^input), - desc: fragment("?.email = ?", o, ^input), - asc: s.domain - ], - limit: ^limit, - preload: [team: {t, owners: o}] - - Repo.all(q) - end - - @impl true - def get(id) do - Plausible.Site - |> Repo.get!(id) - |> Repo.preload(:team) - end -end diff --git a/extra/lib/plausible/customer_support/resource/team.ex b/extra/lib/plausible/customer_support/resource/team.ex deleted file mode 100644 index d8129323770c628fa9e1a17b3e97df9f12162cb9..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/customer_support/resource/team.ex +++ /dev/null @@ -1,101 +0,0 @@ -defmodule Plausible.CustomerSupport.Resource.Team do - @moduledoc false - use Plausible.CustomerSupport.Resource, type: "team" - alias Plausible.Teams - alias Plausible.Repo - - @impl true - def path(id) do - Routes.customer_support_team_path(PlausibleWeb.Endpoint, :show, id) - end - - @impl true - def search(input, opts \\ []) - - def search("", opts) do - limit = Keyword.fetch!(opts, :limit) - - q = - from(t in Plausible.Teams.Team, - as: :team, - inner_join: o in assoc(t, :owners), - limit: ^limit, - where: not is_nil(t.trial_expiry_date), - left_lateral_join: s in subquery(Teams.last_subscription_join_query()), - on: true, - order_by: [desc: :id], - preload: [owners: o, subscription: s] - ) - - Plausible.Repo.all(q) - end - - def search(input, opts) do - limit = Keyword.fetch!(opts, :limit) - - q = - if opts[:uuid_provided?] do - from(t in Plausible.Teams.Team, - as: :team, - inner_join: o in assoc(t, :owners), - where: t.identifier == ^input, - preload: [owners: o] - ) - else - from(t in Plausible.Teams.Team, - as: :team, - inner_join: o in assoc(t, :owners), - where: - ilike(t.name, ^"%#{input}%") or - ilike(o.name, ^"%#{input}%") or - ilike(o.email, ^"%#{input}%"), - limit: ^limit, - order_by: [ - desc: fragment("?.name = ?", t, ^input), - desc: fragment("?.name = ?", o, ^input), - desc: fragment("?.email = ?", o, ^input), - asc: t.name - ], - preload: [owners: o] - ) - end - - q = - if opts[:with_subscription_only?] do - from(t in q, - inner_lateral_join: s in subquery(Teams.last_subscription_join_query()), - on: true, - preload: [subscription: s] - ) - else - from(t in q, - left_lateral_join: s in subquery(Teams.last_subscription_join_query()), - on: true, - preload: [subscription: s] - ) - end - - q = - if opts[:with_sso_only?] do - from(t in q, - inner_join: sso_integration in assoc(t, :sso_integration), - as: :sso_integration, - left_join: sso_domains in assoc(sso_integration, :sso_domains), - as: :sso_domains, - or_where: ilike(sso_domains.domain, ^"%#{input}%") - ) - else - q - end - - Plausible.Repo.all(q) - end - - @impl true - def get(id) do - Plausible.Teams.Team - |> Repo.get!(id) - |> Plausible.Teams.with_subscription() - |> Repo.preload(:owners) - end -end diff --git a/extra/lib/plausible/customer_support/resource/user.ex b/extra/lib/plausible/customer_support/resource/user.ex deleted file mode 100644 index 758fa6c784e86ae2844240860a5dd73c8a7e280e..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/customer_support/resource/user.ex +++ /dev/null @@ -1,50 +0,0 @@ -defmodule Plausible.CustomerSupport.Resource.User do - @moduledoc false - use Plausible.CustomerSupport.Resource, type: "user" - alias Plausible.Repo - - @impl true - def path(id) do - Routes.customer_support_user_path(PlausibleWeb.Endpoint, :show, id) - end - - @impl true - def get(id) do - Repo.get!(Plausible.Auth.User, id) - |> Repo.preload(team_memberships: :team) - end - - @impl true - def search(input, opts \\ []) - - def search("", opts) do - limit = Keyword.fetch!(opts, :limit) - - q = - from u in Plausible.Auth.User, - order_by: [ - desc: :id - ], - preload: [:owned_teams], - limit: ^limit - - Repo.all(q) - end - - def search(input, opts) do - limit = Keyword.fetch!(opts, :limit) - - q = - from u in Plausible.Auth.User, - where: ilike(u.email, ^"%#{input}%") or ilike(u.name, ^"%#{input}%"), - order_by: [ - desc: fragment("?.name = ?", u, ^input), - desc: fragment("?.email = ?", u, ^input), - asc: u.name - ], - preload: [:owned_teams], - limit: ^limit - - Repo.all(q) - end -end diff --git a/extra/lib/plausible/customer_support/trial_prospect.ex b/extra/lib/plausible/customer_support/trial_prospect.ex deleted file mode 100644 index 45c5dfdd2a30e4e9d5703fec9d2749ee6ade1d80..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/customer_support/trial_prospect.ex +++ /dev/null @@ -1,26 +0,0 @@ -defmodule Plausible.CustomerSupport.TrialProspect do - @moduledoc """ - Cached revenue-potential scoring for a team on (or just off) a trial. - Rows are (re)computed daily by `Plausible.Workers.ScoreTrialProspects` and - read by the customer support UI. - """ - use Ecto.Schema - - @type t() :: %__MODULE__{} - - schema "trial_prospects" do - belongs_to :team, Plausible.Teams.Team - - field :estimated_monthly, :integer - field :observed_days, :integer - field :first_data_day, :date - field :kind, Ecto.Enum, values: [:starter, :growth, :business] - field :forced_by, {:array, :string}, default: [] - field :pageview_limit, :integer - field :over_top_tier, :boolean, default: false - field :estimated_mrr, :integer - field :computed_at, :utc_datetime - - timestamps() - end -end diff --git a/extra/lib/plausible/customer_support/trial_prospects.ex b/extra/lib/plausible/customer_support/trial_prospects.ex deleted file mode 100644 index d5e079079a5957e0018aa5e3fd414e20bedfeba9..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/customer_support/trial_prospects.ex +++ /dev/null @@ -1,131 +0,0 @@ -defmodule Plausible.CustomerSupport.TrialProspects do - @moduledoc """ - Pure scoring logic for ranking trial teams by revenue potential. Turns a - team's partial traffic sample and premium-feature usage into an estimated MRR. - """ - - # Static reference pricing (EUR/mo) + pageview ladder. Hand-maintained; keep in sync when public pricing changes. - @pricing_path Application.app_dir(:plausible, ["priv", "trial_prospect_pricing.json"]) - @external_resource @pricing_path - @tiers @pricing_path - |> File.read!() - |> Jason.decode!() - |> Map.fetch!("tiers") - |> Enum.map(fn tier -> - %{ - limit: tier["monthly_pageview_limit"], - starter: tier["starter"], - growth: tier["growth"], - business: tier["business"] - } - end) - |> Enum.sort_by(& &1.limit) - @ladder Enum.map(@tiers, & &1.limit) - - @business_features [ - :props, - :funnels, - :revenue_goals, - :stats_api - ] - @growth_features [:shared_links, :site_segments] - - @starter_site_limit 1 - @growth_site_limit 3 - @starter_member_limit 0 - @growth_member_limit 3 - - @kind_rank %{starter: 0, growth: 1, business: 2} - - @doc """ - Combines feature usage, site/member counts + a monthly estimate into the - persisted scoring fields: `kind`, `forced_by`, `pageview_limit`, - `over_top_tier`, `estimated_mrr`. - """ - @spec score(non_neg_integer(), [module()], non_neg_integer(), non_neg_integer()) :: %{ - kind: :starter | :growth | :business, - forced_by: [String.t()], - pageview_limit: pos_integer() | nil, - over_top_tier: boolean(), - estimated_mrr: non_neg_integer() | nil - } - def score(estimated_monthly, feature_modules, site_count, member_count) do - {kind, forced_by} = plan_kind(feature_modules, site_count, member_count) - {limit, over_top_tier} = pageview_rung(estimated_monthly) - - %{ - kind: kind, - forced_by: forced_by, - pageview_limit: limit, - over_top_tier: over_top_tier, - estimated_mrr: estimated_mrr(kind, limit, over_top_tier) - } - end - - @spec plan_kind([module()], non_neg_integer(), non_neg_integer()) :: - {:starter | :growth | :business, [String.t()]} - defp plan_kind(feature_modules, site_count, member_count) do - used = Enum.map(feature_modules, & &1.name()) - - feature_k = feature_kind(used) - site_k = site_count_kind(site_count) - member_k = member_count_kind(member_count) - - kind = feature_k |> higher_kind(site_k) |> higher_kind(member_k) - - {kind, forced_by(used, kind, site_k, member_k)} - end - - @spec pageview_rung(non_neg_integer()) :: {pos_integer() | nil, boolean()} - defp pageview_rung(estimated_monthly) do - case Enum.find(@ladder, &(&1 >= estimated_monthly)) do - nil -> {nil, true} - limit -> {limit, false} - end - end - - @spec estimated_mrr(:starter | :growth | :business, pos_integer() | nil, boolean()) :: - non_neg_integer() | nil - defp estimated_mrr(_kind, _limit, true), do: nil - - defp estimated_mrr(kind, limit, false) do - tier = Enum.find(@tiers, &(&1.limit == limit)) - tier && Map.fetch!(tier, kind) - end - - defp feature_kind(used) do - cond do - forcing(used, @business_features) != [] -> :business - forcing(used, @growth_features) != [] -> :growth - true -> :starter - end - end - - defp site_count_kind(n) when n <= @starter_site_limit, do: :starter - defp site_count_kind(n) when n <= @growth_site_limit, do: :growth - defp site_count_kind(_), do: :business - - defp member_count_kind(n) when n <= @starter_member_limit, do: :starter - defp member_count_kind(n) when n <= @growth_member_limit, do: :growth - defp member_count_kind(_), do: :business - - defp higher_kind(a, b), do: if(@kind_rank[a] >= @kind_rank[b], do: a, else: b) - - defp forced_by(_used, :starter, _site_k, _member_k), do: [] - - defp forced_by(used, kind, site_k, member_k) do - forcing_for(used, kind) ++ - List.wrap(if(site_k == kind, do: "site_limit")) ++ - List.wrap(if(member_k == kind, do: "team_member_limit")) - end - - defp forcing_for(used, :business), do: forcing(used, @business_features) - defp forcing_for(used, :growth), do: forcing(used, @growth_features) - - defp forcing(used, tier_features) do - used - |> Enum.filter(&(&1 in tier_features)) - |> Enum.map(&Atom.to_string/1) - |> Enum.sort() - end -end diff --git a/extra/lib/plausible/funnel.ex b/extra/lib/plausible/funnel.ex deleted file mode 100644 index f30d295276e16b6c92938d2e2827c1d14d8323cc..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/funnel.ex +++ /dev/null @@ -1,76 +0,0 @@ -defmodule Plausible.Funnel do - @min_steps 2 - @max_steps 8 - - @moduledoc """ - A funnel is a marketing term used to capture and describe the journey - that users go through, from initial step to conversion. - A funnel consists of several steps (here: #{@min_steps}..#{@max_steps}). - - This module defines the database schema for storing funnels - and changeset helpers for enumerating the steps within. - - Each step references a goal (either a Custom Event or Visit) - - see: `Plausible.Goal`. - """ - - use Ecto.Schema - import Ecto.Changeset - - alias Plausible.Funnel.Step - - defmacro min_steps() do - quote do - unquote(@min_steps) - end - end - - defmacro max_steps() do - quote do - unquote(@max_steps) - end - end - - defmacro __using__(_opts \\ []) do - quote do - require Plausible.Funnel - alias Plausible.Funnel - end - end - - @type t() :: %__MODULE__{} - schema "funnels" do - field :name, :string - field :strict_order, :boolean, default: false - belongs_to :site, Plausible.Site - - has_many :steps, Step, - preload_order: [ - asc: :step_order - ], - on_replace: :delete - - has_many :goals, through: [:steps, :goal] - timestamps() - end - - def changeset(funnel \\ %__MODULE__{}, attrs \\ %{}) do - funnel - |> cast(attrs, [:name, :strict_order]) - |> validate_required([:name]) - |> put_steps(attrs[:steps] || attrs["steps"]) - |> validate_length(:steps, min: @min_steps, max: @max_steps) - |> unique_constraint(:name, - name: :funnels_name_site_id_index - ) - end - - def put_steps(changeset, steps) do - steps - |> Enum.map(&Step.changeset(%Step{}, &1)) - |> Enum.with_index(fn step, step_order -> - Ecto.Changeset.put_change(step, :step_order, step_order + 1) - end) - |> then(&Ecto.Changeset.put_assoc(changeset, :steps, &1)) - end -end diff --git a/extra/lib/plausible/funnel/step.ex b/extra/lib/plausible/funnel/step.ex deleted file mode 100644 index a25014cf76f2fd87547a9bfe502466d4d3a54407..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/funnel/step.ex +++ /dev/null @@ -1,33 +0,0 @@ -defmodule Plausible.Funnel.Step do - @moduledoc """ - This module defines the database schema for a single Funnel step. - See: `Plausible.Funnel` for more information. - """ - - use Ecto.Schema - import Ecto.Changeset - - @type t() :: %__MODULE__{} - schema "funnel_steps" do - field :step_order, :integer - belongs_to :funnel, Plausible.Funnel - belongs_to :goal, Plausible.Goal - timestamps() - end - - def changeset(step, goal_or_attrs \\ %{}) - - def changeset(step, %Plausible.Goal{id: goal_id}) do - changeset(step, %{goal_id: goal_id}) - end - - def changeset(step, attrs) do - step - |> cast(attrs, [:goal_id]) - |> cast_assoc(:goal) - |> validate_required([:goal_id]) - |> unique_constraint(:goal, - name: :funnel_steps_goal_id_funnel_id_index - ) - end -end diff --git a/extra/lib/plausible/funnels.ex b/extra/lib/plausible/funnels.ex deleted file mode 100644 index feebbf65e137e9b3d3504108b00c72bbe039b823..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/funnels.ex +++ /dev/null @@ -1,154 +0,0 @@ -defmodule Plausible.Funnels do - @moduledoc """ - This module implements contextual Funnel interface, allowing listing, - creating and deleting funnel definitions. - - For brief explanation of what a Funnel is, please see `Plausible.Funnel` schema. - See `Plausible.Stats.Funnel` for the evaluation logic. - """ - - use Plausible.Funnel - - alias Plausible.Repo - - import Ecto.Query - - @spec create(Plausible.Site.t(), String.t(), [map()], Keyword.t()) :: - {:ok, Funnel.t()} - | {:error, Ecto.Changeset.t() | :invalid_funnel_size | :upgrade_required} - def create(site, name, steps, opts \\ []) - - def create(site, name, steps, opts) - when is_list(steps) and length(steps) in Funnel.min_steps()..Funnel.max_steps() do - site = Plausible.Repo.preload(site, :team) - - case Plausible.Billing.Feature.Funnels.check_availability(site.team) do - {:error, _} = error -> - error - - :ok -> - site - |> create_changeset(name, steps, opts) - |> Repo.insert() - end - end - - def create(_site, _name, _goals, _opts) do - {:error, :invalid_funnel_size} - end - - @spec update(Funnel.t(), String.t(), [map()], Keyword.t()) :: - {:ok, Funnel.t()} - | {:error, Ecto.Changeset.t() | :invalid_funnel_size | :upgrade_required} - def update(funnel, name, steps, opts \\ []) do - site = Plausible.Repo.preload(funnel, site: :team).site - - case Plausible.Billing.Feature.Funnels.check_availability(site.team) do - {:error, _} = error -> - error - - :ok -> - funnel - |> edit_changeset(name, steps, - strict_order?: Keyword.get(opts, :strict_order?, !!funnel.strict_order) - ) - |> Repo.update() - end - end - - @spec create_changeset(Plausible.Site.t(), String.t(), [map()], Keyword.t()) :: - Ecto.Changeset.t() - def create_changeset(site, name, steps, opts \\ []) do - Funnel.changeset(%Funnel{site_id: site.id}, %{ - name: name, - steps: steps, - strict_order: Keyword.get(opts, :strict_order?, false) - }) - end - - @spec edit_changeset(Plausible.Funnel.t(), String.t(), [map()], Keyword.t()) :: - Ecto.Changeset.t() - def edit_changeset(funnel, name, steps, opts) do - Funnel.changeset(funnel, %{ - name: name, - steps: steps, - strict_order: Keyword.get(opts, :strict_order?, false) - }) - end - - @spec ephemeral_definition(Plausible.Site.t(), String.t(), [map()], Keyword.t()) :: Funnel.t() - def ephemeral_definition(site, name, steps, opts \\ []) do - site - |> create_changeset(name, steps, opts) - |> Ecto.Changeset.apply_changes() - end - - @spec list(Plausible.Site.t()) :: [ - %{name: String.t(), id: pos_integer(), steps_count: pos_integer()} - ] - def list(%Plausible.Site{} = site) do - q = - from(f in Funnel, - inner_join: steps in assoc(f, :steps), - where: f.site_id == ^site.id, - group_by: f.id, - order_by: [desc: :id], - select: %{name: f.name, id: f.id, steps_count: count(steps)} - ) - - Repo.all(q) - end - - @spec delete(Plausible.Site.t() | pos_integer(), pos_integer()) :: :ok - def delete(%Plausible.Site{id: site_id}, funnel_id) do - delete(site_id, funnel_id) - end - - def delete(site_id, funnel_id) do - Repo.delete_all( - from(f in Funnel, - where: f.site_id == ^site_id, - where: f.id == ^funnel_id - ) - ) - - :ok - end - - @spec get(Plausible.Site.t() | pos_integer(), pos_integer() | String.t()) :: - Funnel.t() | nil - def get(%Plausible.Site{id: site_id}, by) do - get(site_id, by) - end - - def get(site_id, funnel_name) when is_integer(site_id) and is_binary(funnel_name) do - site_id |> base_get_query() |> where([f], f.name == ^funnel_name) |> Repo.one() - end - - def get(site_id, funnel_id) when is_integer(site_id) and is_integer(funnel_id) do - site_id |> base_get_query() |> where([f], f.id == ^funnel_id) |> Repo.one() - end - - @spec with_goals_query(Plausible.Site.t()) :: Ecto.Query.t() - def with_goals_query(site) do - from(f in Funnel, - inner_join: steps in assoc(f, :steps), - where: f.site_id == ^site.id, - group_by: f.id, - order_by: [desc: :id], - preload: [steps: :goal] - ) - end - - defp base_get_query(site_id) do - from(f in Funnel, - where: f.site_id == ^site_id, - inner_join: steps in assoc(f, :steps), - inner_join: goal in assoc(steps, :goal), - order_by: steps.step_order, - preload: [ - steps: {steps, goal: goal} - ] - ) - end -end diff --git a/extra/lib/plausible/goal/revenue.ex b/extra/lib/plausible/goal/revenue.ex deleted file mode 100644 index 4c57a1d1a435fdb16ac444857e86bf4b294ea55f..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/goal/revenue.ex +++ /dev/null @@ -1,31 +0,0 @@ -defmodule Plausible.Goal.Revenue do - @moduledoc """ - Currency specific functions for revenue goals - """ - - def revenue?(%Plausible.Goal{currency: currency}) do - !!currency - end - - def valid_currencies() do - Ecto.Enum.dump_values(Plausible.Goal, :currency) - end - - def currency_options() do - options = - for code <- valid_currencies() do - {code, display(code)} - end - - options - end - - def currency_option(code) do - true = "#{code}" in valid_currencies() - {"#{code}", display(code)} - end - - def display(code) do - "#{code} - #{Cldr.Currency.display_name!(code)}" - end -end diff --git a/extra/lib/plausible/help_scout.ex b/extra/lib/plausible/help_scout.ex deleted file mode 100644 index c1bf99fd43f0634241f1b1a51449959f991a5ea6..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/help_scout.ex +++ /dev/null @@ -1,520 +0,0 @@ -defmodule Plausible.HelpScout do - @moduledoc """ - HelpScout callback API logic. - """ - - import Ecto.Query - - alias Plausible.Billing - alias Plausible.Billing.Subscription - alias Plausible.HelpScout.Vault - alias Plausible.Repo - alias Plausible.Teams - - alias PlausibleWeb.Router.Helpers, as: Routes - - require Plausible.Billing.Subscription.Status - - @base_api_url "https://api.helpscout.net" - @signature_field "X-HelpScout-Signature" - - @signature_errors [:missing_signature, :bad_signature] - - @excluded_email_domains ["paddle.com"] - - @type signature_error() :: unquote(Enum.reduce(@signature_errors, &{:|, [], [&1, &2]})) - - def signature_errors(), do: @signature_errors - - def excluded_email_domains(), do: @excluded_email_domains - - @doc """ - Validates signature against secret key configured for the - HelpScout application. - - NOTE: HelpScout signature generation procedure at - https://developer.helpscout.com/apps/guides/signature-validation/ - fails to mention that it's implicitly dependent on request params - order getting preserved. PHP arrays are ordered maps, so they provide - this guarantee. Here, on the other hand, we have to determine the original - order of the keys directly from the query string and serialize - params to JSON using wrapper struct, informing Jason to put the values - in the serialized object in this particular order matching query string. - """ - @spec validate_signature(Plug.Conn.t()) :: :ok | {:error, signature_error()} - def validate_signature(conn) do - params = conn.params - - keys = - conn.query_string - |> String.split("&") - |> Enum.map(fn part -> - part |> String.split("=") |> List.first() - end) - |> Enum.reject(&(&1 == @signature_field)) - - signature = params[@signature_field] - - if is_binary(signature) do - signature_key = Keyword.fetch!(config(), :signature_key) - - ordered_data = Enum.map(keys, fn key -> {key, params[key]} end) - data = Jason.encode!(%Jason.OrderedObject{values: ordered_data}) - - calculated = - :hmac - |> :crypto.mac(:sha, signature_key, data) - |> Base.encode64() - - if Plug.Crypto.secure_compare(signature, calculated) do - :ok - else - {:error, :bad_signature} - end - else - {:error, :missing_signature} - end - end - - @spec get_details_for_customer(String.t(), String.t()) :: {:ok, map()} | {:error, any()} - def get_details_for_customer(customer_id, conversation_id) do - with {:ok, emails} <- get_customer_emails(customer_id, conversation_id) do - get_details_for_emails(emails, customer_id, conversation_id, nil) - end - end - - @spec get_details_for_emails([String.t()], String.t(), String.t(), String.t() | nil) :: - {:ok, map()} | {:error, any()} - def get_details_for_emails(emails, customer_id, conversation_id, team_identifier) do - with {:ok, user} <- get_user(emails) do - set_customer_mapping(customer_id, user.email) - set_conversation_mapping(conversation_id, user.email) - - teams = Teams.Users.owned_teams(user) - - teams = - if team_identifier do - Enum.filter(teams, &(&1.identifier == team_identifier)) - else - teams - end - - if length(teams) > 1 do - teams = - teams - |> Enum.map(fn team -> - %{ - name: Teams.name(team), - identifier: team.identifier, - sites_count: Teams.owned_sites_count(team) - } - end) - - user_link = - Routes.customer_support_user_url( - PlausibleWeb.Endpoint, - :show, - user.id - ) - - {:ok, - %{ - multiple_teams?: true, - email: user.email, - notes: notes(user, nil), - teams: teams, - user_link: user_link - }} - else - team = List.first(teams) - - {subscription, plan} = - if team do - team = Teams.with_subscription(team) - plan = Billing.Plans.get_subscription_plan(team.subscription) - {team.subscription, plan} - else - {nil, nil} - end - - status_link = - if team do - Routes.customer_support_team_url( - PlausibleWeb.Endpoint, - :show, - team.id - ) - else - Routes.customer_support_user_url( - PlausibleWeb.Endpoint, - :show, - user.id - ) - end - - {:ok, - %{ - multiple_teams?: false, - team_setup?: Plausible.Teams.setup?(team), - team_name: Plausible.Teams.name(team), - email: user.email, - notes: notes(user, team), - status_label: status_label(team, subscription), - status_link: status_link, - plan_label: plan_label(subscription, plan), - plan_link: plan_link(subscription), - sites_count: Teams.owned_sites_count(team) - }} - end - end - end - - @spec search_users(String.t(), String.t(), String.t()) :: [map()] - def search_users(term, customer_id, conversation_id) do - clear_mappings(customer_id, conversation_id) - - search_term = "%#{term}%" - - domain_query = - from(s in Plausible.Site.regular(), - inner_join: t in assoc(s, :team), - inner_join: tm in assoc(t, :team_memberships), - where: tm.user_id == parent_as(:user).id and tm.role == :owner, - where: ilike(s.domain, ^search_term) or ilike(s.domain_changed_from, ^search_term), - select: 1 - ) - - users_query() - |> where( - [user: u], - like(u.email, ^search_term) or exists(domain_query) - ) - |> limit(5) - |> select([user: u, sites: s], %{email: u.email, sites_count: count(s.id)}) - |> Repo.all() - end - - defp plan_link(nil), do: "#" - - defp plan_link(%{paddle_subscription_id: paddle_id}) do - Path.join([ - Billing.PaddleApi.vendors_domain(), - "/subscriptions/customers/manage/", - paddle_id - ]) - end - - defp status_label(team, subscription) do - subscription_active? = Billing.Subscriptions.active?(subscription) - trial? = Teams.on_trial?(team) - - cond do - not subscription_active? and not trial? and (is_nil(team) or is_nil(team.trial_expiry_date)) -> - "None" - - is_nil(subscription) and not trial? -> - "Expired trial" - - trial? -> - "Trial" - - subscription.status == Subscription.Status.deleted() -> - if subscription_active? do - "Pending cancellation" - else - "Canceled" - end - - subscription.status == Subscription.Status.paused() -> - "Paused" - - Teams.locked?(team) -> - "Dashboard locked" - - subscription_active? -> - "Paid" - end - end - - defp plan_label(_, nil) do - "None" - end - - defp plan_label(_, :free_10k) do - "Free 10k" - end - - defp plan_label(subscription, %Billing.Plan{} = plan) do - [plan] = Billing.Plans.with_prices([plan]) - interval = Billing.Plans.subscription_interval(subscription) - quota = PlausibleWeb.AuthView.subscription_quota(subscription, []) - - price = - cond do - interval == "monthly" && plan.monthly_cost -> - Billing.format_price(plan.monthly_cost) - - interval == "yearly" && plan.yearly_cost -> - Billing.format_price(plan.yearly_cost) - - true -> - "N/A" - end - - "#{quota} Plan (#{price} #{interval})" - end - - defp plan_label(subscription, %Billing.EnterprisePlan{} = plan) do - quota = PlausibleWeb.AuthView.subscription_quota(subscription, []) - price_amount = Billing.Plans.get_price_for(plan, "127.0.0.1") - - price = - if price_amount do - Billing.format_price(price_amount) - else - "N/A" - end - - "#{quota} Enterprise Plan (#{price} #{plan.billing_interval})" - end - - defp get_user(emails) do - user = - users_query() - |> where([user: u], u.email in ^emails) - |> limit(1) - |> Repo.one() - - if user do - {:ok, user} - else - {:error, {:user_not_found, emails}} - end - end - - defp users_query() do - from(u in Plausible.Auth.User, - as: :user, - left_join: tm in assoc(u, :team_memberships), - on: tm.role == :owner, - as: :team_memberships, - left_join: t in assoc(tm, :team), - left_join: s in assoc(t, :sites), - as: :sites, - where: is_nil(s) or not s.consolidated, - group_by: u.id, - order_by: [desc: count(s.id)] - ) - end - - defp get_customer_emails(customer_id, conversation_id) do - get_emails_with_conversation_mapping(conversation_id, customer_id) - end - - defp get_emails_with_conversation_mapping(conversation_id, customer_id) do - case lookup_conversation_mapping(conversation_id) do - {:ok, mapped_emails} -> - {:ok, mapped_emails} - - {:error, :not_found} -> - get_emails_with_customer_mapping(customer_id) - end - end - - defp get_emails_with_customer_mapping(customer_id) do - # We want to explicitly reject customer emails from HS which - # are in one of excluded domains. That's why we fetch - # emails from HS first before checking the mapping. - case fetch_customer_emails(customer_id) do - {:ok, emails} -> - case lookup_customer_mapping(customer_id) do - {:ok, mapped_emails} -> - {:ok, mapped_emails} - - {:error, :not_found} -> - {:ok, emails} - end - - {:error, error} when error in [:not_found, :no_emails] -> - lookup_customer_mapping(customer_id) - - {:error, _} = error -> - error - end - end - - defp fetch_customer_emails(customer_id, opts \\ []) do - refresh? = Keyword.get(opts, :refresh?, true) - token = get_token!() - - url = Path.join([@base_api_url, "/v2/customers/", customer_id]) - - extra_opts = Application.get_env(:plausible, __MODULE__)[:req_opts] || [] - opts = Keyword.merge([auth: {:bearer, token}], extra_opts) - - case Req.get(url, opts) do - {:ok, %{body: %{"_embedded" => %{"emails" => [_ | _] = emails}}}} -> - emails = Enum.map(emails, & &1["value"]) - - if Enum.any?(emails, &email_excluded?/1) do - {:error, :excluded_email} - else - {:ok, emails} - end - - {:ok, %{status: 200}} -> - {:error, :no_emails} - - {:ok, %{status: 404}} -> - {:error, :not_found} - - {:ok, %{status: 401}} -> - if refresh? do - refresh_token!() - fetch_customer_emails(customer_id, refresh?: false) - else - {:error, :auth_failed} - end - - error -> - Sentry.capture_message("Failed to obtain customer data from HelpScout API", - extra: %{error: inspect(error), customer_id: customer_id} - ) - - {:error, :unknown} - end - end - - # Exposed for testing - @doc false - def lookup_customer_mapping(customer_id) do - email_row = - "SELECT email FROM help_scout_mappings WHERE customer_id = $1" - |> Repo.query!([customer_id]) - |> Map.get(:rows) - |> List.first() - - case email_row do - [email] -> - {:ok, [email]} - - _ -> - {:error, :not_found} - end - end - - # Exposed for testing - @doc false - def lookup_conversation_mapping(conversation_id) do - email_row = - "SELECT email FROM help_scout_mappings WHERE conversation_id = $1" - |> Repo.query!([conversation_id]) - |> Map.get(:rows) - |> List.first() - - case email_row do - [email] -> - {:ok, [email]} - - _ -> - {:error, :not_found} - end - end - - # Exposed for testing - @doc false - def set_customer_mapping(customer_id, email) do - now = NaiveDateTime.utc_now(:second) - - Repo.insert_all( - "help_scout_mappings", - [[customer_id: customer_id, email: email, inserted_at: now, updated_at: now]], - conflict_target: :customer_id, - on_conflict: [set: [email: email, updated_at: now]] - ) - end - - # Exposed for testing - @doc false - def set_conversation_mapping(conversation_id, email) do - now = NaiveDateTime.utc_now(:second) - - Repo.insert_all( - "help_scout_mappings", - [[conversation_id: conversation_id, email: email, inserted_at: now, updated_at: now]], - conflict_target: :conversation_id, - on_conflict: [set: [email: email, updated_at: now]] - ) - end - - defp email_excluded?(email) when is_binary(email) do - case String.split(email, "@") do - [_, domain] -> String.trim(domain) in @excluded_email_domains - _ -> false - end - end - - defp email_excluded?(_), do: false - - defp clear_mappings(customer_id, conversation_id) do - Repo.query!( - "DELETE FROM help_scout_mappings WHERE customer_id = $1 or conversation_id = $2", - [customer_id, conversation_id] - ) - end - - defp get_token!() do - token = - "SELECT access_token FROM help_scout_credentials ORDER BY id DESC LIMIT 1" - |> Repo.query!() - |> Map.get(:rows) - |> List.first() - - case token do - [token] when is_binary(token) -> - Vault.decrypt!(token) - - _ -> - refresh_token!() - end - end - - defp refresh_token!() do - url = Path.join(@base_api_url, "/v2/oauth2/token") - credentials = config() - - params = [ - grant_type: "client_credentials", - client_id: Keyword.fetch!(credentials, :app_id), - client_secret: Keyword.fetch!(credentials, :app_secret) - ] - - extra_opts = Application.get_env(:plausible, __MODULE__)[:req_opts] || [] - opts = Keyword.merge([form: params], extra_opts) - - %{status: 200, body: %{"access_token" => token}} = Req.post!(url, opts) - now = NaiveDateTime.utc_now(:second) - - Repo.insert_all("help_scout_credentials", [ - [access_token: Vault.encrypt!(token), inserted_at: now, updated_at: now] - ]) - - token - end - - defp config() do - Application.fetch_env!(:plausible, __MODULE__) - end - - defp notes(user, team) do - notes = - [ - user.notes, - team && team.notes - ] - |> Enum.reject(&is_nil/1) - |> Enum.join("\n") - - if notes != "", do: notes - end -end diff --git a/extra/lib/plausible/help_scout/vault.ex b/extra/lib/plausible/help_scout/vault.ex deleted file mode 100644 index ef4017ff5a285960d3ccdbb17b378c21e4a865f0..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/help_scout/vault.ex +++ /dev/null @@ -1,19 +0,0 @@ -defmodule Plausible.HelpScout.Vault do - @moduledoc """ - Provides a vault that will be used to encrypt/decrypt the stored HelpScout API access tokens. - """ - - use Cloak.Vault, otp_app: :plausible - - @impl GenServer - def init(config) do - {key, config} = Keyword.pop!(config, :key) - - config = - Keyword.put(config, :ciphers, - default: {Cloak.Ciphers.AES.GCM, tag: "AES.GCM.V1", iv_length: 12, key: key} - ) - - {:ok, config} - end -end diff --git a/extra/lib/plausible/ingestion/event/revenue.ex b/extra/lib/plausible/ingestion/event/revenue.ex deleted file mode 100644 index 96c38ab27fd4e80da8fd0bf718893664c85a2039..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/ingestion/event/revenue.ex +++ /dev/null @@ -1,38 +0,0 @@ -defmodule Plausible.Ingestion.Event.Revenue do - @moduledoc """ - Revenue specific functions for the ingestion scope - """ - - def get_revenue_attrs( - %Plausible.Ingestion.Event{request: %{revenue_source: %Money{} = revenue_source}} = event - ) do - matching_goal = - Enum.find(event.site.revenue_goals, &(&1.event_name == event.clickhouse_event_attrs.name)) - - cond do - is_nil(matching_goal) -> - %{} - - matching_goal.currency == revenue_source.currency -> - %{ - revenue_source_amount: Money.to_decimal(revenue_source), - revenue_source_currency: to_string(revenue_source.currency), - revenue_reporting_amount: Money.to_decimal(revenue_source), - revenue_reporting_currency: to_string(revenue_source.currency) - } - - matching_goal.currency != revenue_source.currency -> - converted = - Money.to_currency!(revenue_source, matching_goal.currency) - - %{ - revenue_source_amount: Money.to_decimal(revenue_source), - revenue_source_currency: to_string(revenue_source.currency), - revenue_reporting_amount: Money.to_decimal(converted), - revenue_reporting_currency: to_string(converted.currency) - } - end - end - - def get_revenue_attrs(_event), do: %{} -end diff --git a/extra/lib/plausible/ingestion/request/revenue.ex b/extra/lib/plausible/ingestion/request/revenue.ex deleted file mode 100644 index ffab7ed166003e5ed473bc2d063995c31b5e5e41..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/ingestion/request/revenue.ex +++ /dev/null @@ -1,35 +0,0 @@ -defmodule Plausible.Ingestion.Request.Revenue do - @moduledoc """ - Revenue specific functions for the ingestion scope - """ - - def put_revenue_source(%Ecto.Changeset{} = changeset, %{} = request_body) do - with revenue_source <- request_body["revenue"] || request_body["$"], - %{"amount" => _, "currency" => _} = revenue_source <- - Plausible.Helpers.JSON.decode_or_fallback(revenue_source) do - parse_revenue_source(changeset, revenue_source) - else - _any -> changeset - end - end - - @valid_currencies Plausible.Goal.Revenue.valid_currencies() - defp parse_revenue_source(changeset, %{"amount" => amount, "currency" => currency}) do - with true <- currency in @valid_currencies, - {%Decimal{} = amount, _rest} <- parse_decimal(amount), - %Money{} = amount <- Money.new(currency, amount) do - Ecto.Changeset.put_change(changeset, :revenue_source, amount) - else - _any -> changeset - end - end - - defp parse_decimal(value) do - case value do - value when is_binary(value) -> Decimal.parse(value) - value when is_float(value) -> {Decimal.from_float(value), nil} - value when is_integer(value) -> {Decimal.new(value), nil} - _any -> :error - end - end -end diff --git a/extra/lib/plausible/installation_support/browserless_config.ex b/extra/lib/plausible/installation_support/browserless_config.ex deleted file mode 100644 index 43532a1bf9c30f7ad12c9c2b4017b23133f3950b..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/browserless_config.ex +++ /dev/null @@ -1,28 +0,0 @@ -defmodule Plausible.InstallationSupport.BrowserlessConfig do - @moduledoc """ - Req options for browserless.io requests - """ - use Plausible - - @retry_policy %{ - # rate limit - 429 => {:delay, 1000}, - # even 400 are verified manually to sometimes succeed on retry - 400 => {:delay, 500} - } - - def retry_policy(), do: @retry_policy - - on_ee do - def browserless_function_api_endpoint() do - config = Application.fetch_env!(:plausible, __MODULE__) - token = Keyword.fetch!(config, :token) - endpoint = Keyword.fetch!(config, :endpoint) - Path.join(endpoint, "function?token=#{token}&stealth") - end - else - def browserless_function_api_endpoint() do - "Browserless API should not be called on Community Edition" - end - end -end diff --git a/extra/lib/plausible/installation_support/check.ex b/extra/lib/plausible/installation_support/check.ex deleted file mode 100644 index d08638f065755559034b3e186f97a53a3de1eb15..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/check.ex +++ /dev/null @@ -1,61 +0,0 @@ -defmodule Plausible.InstallationSupport.Check do - @moduledoc """ - Behaviour to be implemented by a specific installation support check. - - `report_progress_as()` doesn't necessarily reflect the actual check - description, it serves as a user-facing message grouping mechanism, - to prevent frequent message flashing when checks rotate often. - - Each check operates on `%Plausible.InstallationSupport.State{}` and is - expected to return it, optionally modified, by all means. `perform_safe/1` - is used to guarantee no exceptions are thrown by faulty implementations, - not to interrupt LiveView. - """ - @type state() :: Plausible.InstallationSupport.State.t() - @callback report_progress_as() :: String.t() - @callback perform(state(), Keyword.t()) :: state() - - defmacro __using__(_) do - quote do - import Plausible.InstallationSupport.State - alias Plausible.InstallationSupport.State - - require Logger - - @behaviour Plausible.InstallationSupport.Check - - def perform_safe(state, opts) do - timeout = Keyword.get(opts, :timeout, 10_000) - - task = - Task.async(fn -> - try do - perform(state, opts) - catch - _, e -> - Logger.error( - "Error running check #{inspect(__MODULE__)} on #{state.url}: #{inspect(e)}" - ) - - put_diagnostics(state, service_error: %{code: :internal_check_error, extra: e}) - end - end) - - try do - Task.await(task, timeout) - catch - :exit, {:timeout, _} -> - Task.shutdown(task, :brutal_kill) - check_name = __MODULE__ |> Atom.to_string() |> String.split(".") |> List.last() - - put_diagnostics(state, - service_error: %{ - code: :internal_check_timeout, - extra: "#{check_name} timed out after #{timeout}ms" - } - ) - end - end - end - end -end diff --git a/extra/lib/plausible/installation_support/check_runner.ex b/extra/lib/plausible/installation_support/check_runner.ex deleted file mode 100644 index 73aa5f84555b52bcb33ed1d6e84273a3e1008f46..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/check_runner.ex +++ /dev/null @@ -1,65 +0,0 @@ -defmodule Plausible.InstallationSupport.CheckRunner do - @moduledoc """ - Takes two arguments: - - 1. A `%Plausible.InstallationSupport.State{}` struct - the `diagnostics` - field is a struct representing the set of diagnostics shared between - all the checks in this flow. - - 2. A list of modules implementing `Plausible.InstallationSupport.Check` - behaviour. - - Checks are normally run asynchronously, except when synchronous - execution is optionally required for tests. Slowdowns can be optionally - added, the user doesn't benefit from running the checks too quickly. - """ - - def run(state, checks, opts) do - async? = Keyword.get(opts, :async?, true) - slowdown = Keyword.get(opts, :slowdown, 500) - - if async? do - Task.start_link(fn -> do_run(state, checks, slowdown) end) - else - do_run(state, checks, slowdown) - end - end - - defp do_run(state, checks, slowdown) do - state = - Enum.reduce_while( - checks, - state, - fn {check, check_opts}, state -> - if state.skip_further_checks? do - {:halt, state} - else - {:cont, - state - |> notify_check_start(check, slowdown) - |> check.perform_safe(check_opts)} - end - end - ) - - notify_all_checks_done(state, slowdown) - end - - defp notify_check_start(state, check, slowdown) do - if is_pid(state.report_to) do - if is_integer(slowdown) and slowdown > 0, do: :timer.sleep(slowdown) - send(state.report_to, {:check_start, {check, state}}) - end - - state - end - - defp notify_all_checks_done(state, slowdown) do - if is_pid(state.report_to) do - if is_integer(slowdown) and slowdown > 0, do: :timer.sleep(slowdown) - send(state.report_to, {:all_checks_done, state}) - end - - state - end -end diff --git a/extra/lib/plausible/installation_support/checks/detection.ex b/extra/lib/plausible/installation_support/checks/detection.ex deleted file mode 100644 index be805fb07baffc6015e71975f54298f10070d1da..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/checks/detection.ex +++ /dev/null @@ -1,162 +0,0 @@ -defmodule Plausible.InstallationSupport.Checks.Detection do - @moduledoc """ - Calls the browserless.io service (local instance can be spawned with `make browserless`) - and runs detector script via the [function API](https://docs.browserless.io/HTTP-APIs/function). - - * v1_detected (optional - detection can take up to @plausible_window_check_timeout_ms) - * gtm_likely - * wordpress_likely - * wordpress_plugin - - These diagnostics are used to determine what installation type to recommend, - and whether to provide a notice for upgrading an existing v1 integration to v2. - """ - - require Logger - use Plausible.InstallationSupport.Check - alias Plausible.InstallationSupport.BrowserlessConfig - - @detector_code_path "priv/tracker/installation_support/detector.js" - @external_resource @detector_code_path - - # On CI, the file might not be present for static checks so we default to empty string - @detector_code (case File.read(Application.app_dir(:plausible, @detector_code_path)) do - {:ok, content} -> content - {:error, _} -> "" - end) - - # Puppeteer wrapper function that executes the vanilla JS detector code - @puppeteer_wrapper_code """ - export default async function({ page, context: { url, userAgent, ...functionContext } }) { - try { - await page.setUserAgent(userAgent); - await page.goto(url); - - await page.evaluate(() => { - #{@detector_code} // injects window.scanPageBeforePlausibleInstallation - }); - - return await page.evaluate( - (c) => window.scanPageBeforePlausibleInstallation(c), - { ...functionContext } - ); - } catch (error) { - return { - data: { - completed: false, - error: { - message: error?.message ?? JSON.stringify(error) - } - } - } - } - } - """ - - # This timeout determines how long we wait for window.plausible to be initialized on the page, used for detecting whether v1 installed - @plausible_window_check_timeout_ms 1_500 - - # To support browserless API being unavailable or overloaded, we retry the endpoint call if it doesn't return a successful response - @max_retries 1 - - @impl true - def report_progress_as, do: "We're checking your site to recommend the best installation method" - - @impl true - def perform(%State{url: url, assigns: %{detect_v1?: detect_v1?}} = state, opts) do - check_timeout = Keyword.fetch!(opts, :timeout) - - # We rely on Req's `:receive_timeout` to avoid waiting too long for a response, but - # we also pass the same timeout (+ 1s) via a query param to the Browserless /function API - # to not waste resources and leave a redundant process running there. - req_timeout = check_timeout - 1000 - browserless_api_timeout = check_timeout - - opts = - [ - headers: %{content_type: "application/json"}, - body: - Jason.encode!(%{ - code: @puppeteer_wrapper_code, - context: %{ - url: Plausible.InstallationSupport.URL.bust_url(url), - userAgent: Plausible.InstallationSupport.user_agent(), - detectV1: detect_v1?, - timeoutMs: @plausible_window_check_timeout_ms, - debug: Application.get_env(:plausible, :environment) == "dev" - } - }), - params: %{timeout: browserless_api_timeout}, - retry: fn _request, response_or_error -> - case response_or_error do - %{status: status} -> Map.get(BrowserlessConfig.retry_policy(), status, false) - _ -> false - end - end, - receive_timeout: req_timeout, - retry_log_level: :warning, - max_retries: @max_retries - ] - |> Keyword.merge(Application.get_env(:plausible, __MODULE__)[:req_opts] || []) - - case Req.post(BrowserlessConfig.browserless_function_api_endpoint(), opts) do - {:ok, %{body: body, status: status}} -> - handle_browserless_response(state, body, status) - - {:error, %Req.TransportError{reason: :timeout}} -> - put_diagnostics(state, service_error: %{code: :browserless_timeout}) - - {:error, %{reason: reason}} -> - Logger.warning(warning_message("Browserless request error: #{inspect(reason)}", state)) - - put_diagnostics(state, service_error: %{code: :req_error, extra: reason}) - end - end - - defp handle_browserless_response( - state, - %{"data" => %{"completed" => completed} = data}, - _status - ) do - if completed do - put_diagnostics( - state, - parse_to_diagnostics(data) - ) - else - Logger.warning( - warning_message( - "Browserless function returned with completed: false, error.message: #{inspect(data["error"]["message"])}", - state - ) - ) - - put_diagnostics(state, - service_error: %{code: :browserless_client_error, extra: data["error"]["message"]} - ) - end - end - - defp handle_browserless_response(state, body, status) do - error = "Unhandled browserless response with status: #{status}" - - warning_message("#{error}; body: #{inspect(body)}", state) - |> Logger.warning() - - put_diagnostics(state, service_error: %{code: :bad_browserless_response, extra: status}) - end - - defp warning_message(message, state) do - "[DETECTION] #{message} (data_domain='#{state.data_domain}')" - end - - defp parse_to_diagnostics(data), - do: [ - v1_detected: data["v1Detected"], - gtm_likely: data["gtmLikely"], - npm: data["npm"], - wordpress_likely: data["wordpressLikely"], - wordpress_plugin: data["wordpressPlugin"], - service_error: nil - ] -end diff --git a/extra/lib/plausible/installation_support/checks/url.ex b/extra/lib/plausible/installation_support/checks/url.ex deleted file mode 100644 index 95dbd56fea1ca91138ce40f65abb41ae1f232b99..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/checks/url.ex +++ /dev/null @@ -1,103 +0,0 @@ -defmodule Plausible.InstallationSupport.Checks.Url do - @moduledoc """ - Checks if site domain has an A record. - If not, checks if prepending `www.` helps, - because we have specifically requested customers to register the domain with `www.` prefix. - If not, skips all further checks. - """ - - use Plausible.InstallationSupport.Check - - @impl true - def report_progress_as, do: "We're trying to reach your website" - - @impl true - @spec perform(State.t(), Keyword.t()) :: State.t() - def perform(%State{url: url} = state, _opts) when is_binary(url) do - with {:ok, %URI{scheme: scheme} = uri} when scheme in ["http", "https"] <- URI.new(url), - :ok <- check_domain(uri.host) do - stripped_url = URI.to_string(%URI{uri | query: nil, fragment: nil}) - %State{state | url: stripped_url} - else - {:error, :no_a_record} -> - put_diagnostics(%State{state | skip_further_checks?: true}, - service_error: %{code: :domain_not_found} - ) - - _ -> - put_diagnostics(%State{state | skip_further_checks?: true}, - service_error: %{code: :invalid_url} - ) - end - end - - def perform(%State{data_domain: domain} = state, _opts) when is_binary(domain) do - case find_working_url(domain) do - {:ok, working_url} -> - %State{state | url: working_url} - - {:error, :domain_not_found} -> - put_diagnostics(%State{state | url: nil, skip_further_checks?: true}, - service_error: %{code: :domain_not_found} - ) - end - end - - # Check A records of the the domains [domain, "www.#{domain}"] - # at this point, domain can contain path - @spec find_working_url(String.t()) :: {:ok, String.t()} | {:error, :domain_not_found} - defp find_working_url(domain) do - [domain_without_path | rest] = split_domain(domain) - - [ - domain_without_path, - "www.#{domain_without_path}" - ] - |> Enum.reduce_while({:error, :domain_not_found}, fn d, _acc -> - case dns_lookup(d) do - :ok -> {:halt, {:ok, "https://" <> unsplit_domain(d, rest)}} - {:error, :no_a_record} -> {:cont, {:error, :domain_not_found}} - end - end) - end - - @spec dns_lookup(String.t()) :: :ok | {:error, :no_a_record} - defp dns_lookup(domain) do - lookup_timeout = 1_000 - resolve_timeout = 1_000 - - case Plausible.DnsLookup.impl().lookup( - to_charlist(domain), - :in, - :a, - [timeout: resolve_timeout], - lookup_timeout - ) do - [{a, b, c, d} | _] - when is_integer(a) and is_integer(b) and is_integer(c) and is_integer(d) -> - :ok - - # this may mean timeout or no DNS record - [] -> - {:error, :no_a_record} - end - end - - defp check_domain(domain) do - if Application.get_env(:plausible, :environment) == "dev" and domain == "localhost" do - :ok - else - dns_lookup(domain) - end - end - - @spec split_domain(String.t()) :: [String.t()] - defp split_domain(domain) do - String.split(domain, "/", parts: 2) - end - - @spec unsplit_domain(String.t(), [String.t()]) :: String.t() - defp unsplit_domain(domain_without_path, rest) do - Enum.join([domain_without_path] ++ rest, "/") - end -end diff --git a/extra/lib/plausible/installation_support/checks/verify_installation.ex b/extra/lib/plausible/installation_support/checks/verify_installation.ex deleted file mode 100644 index fafdecb70510aac1ace0eb88b26059f818b342b6..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/checks/verify_installation.ex +++ /dev/null @@ -1,189 +0,0 @@ -defmodule Plausible.InstallationSupport.Checks.VerifyInstallation do - @moduledoc """ - Calls the browserless.io service (local instance can be spawned with `make browserless`) - and runs verifier script via the [function API](https://docs.browserless.io/HTTP-APIs/function). - """ - - require Logger - use Plausible.InstallationSupport.Check - alias Plausible.InstallationSupport.BrowserlessConfig - - @verifier_code_path "priv/tracker/installation_support/verifier.js" - @external_resource @verifier_code_path - - # On CI, the file might not be present for static checks so we default to empty string - @verifier_code (case File.read(Application.app_dir(:plausible, @verifier_code_path)) do - {:ok, content} -> content - {:error, _} -> "" - end) - - # Puppeteer wrapper function that executes the vanilla JS verifier code - @puppeteer_wrapper_code """ - export default async function({ page, context: { url, userAgent, maxAttempts, timeoutBetweenAttemptsMs, ...functionContext } }) { - try { - await page.setUserAgent(userAgent) - const response = await page.goto(url) - const responseStatus = response.status() - const responseHeaders = response.headers() - - async function verify() { - await page.evaluate(() => {#{@verifier_code}}) // injects window.verifyPlausibleInstallation - return await page.evaluate( - (c) => window.verifyPlausibleInstallation(c), - { ...functionContext, responseHeaders } - ); - } - - let lastError; - for (let attempts = 1; attempts <= maxAttempts; attempts++) { - try { - const output = await verify(); - return { - data: { - ...output.data, - attempts, - responseStatus - }, - }; - } catch (error) { - lastError = error; - if ( - typeof error?.message === "string" && - error.message.toLowerCase().includes("execution context") - ) { - await new Promise((resolve) => setTimeout(resolve, timeoutBetweenAttemptsMs)); - continue; - } - throw error - } - } - throw lastError; - } catch (error) { - return { - data: { - completed: false, - error: { - message: error?.message ?? JSON.stringify(error) - } - } - } - } - } - """ - - # To support browserless API being unavailable or overloaded, we retry the endpoint call if it doesn't return a successful response - @max_retries 1 - - # We rely on Req's `:receive_timeout` to avoid waiting too long for a response. We also pass the same timeout (+ 1s) via a query - # param to the Browserless /function API to not waste resources. - @req_timeout 15_000 - - # This timeout determines how long we wait for window.plausible to be initialized on the page, including sending the test event - @plausible_window_check_timeout_ms 4_000 - - # To handle navigation that happens immediately on the page, we attempt to verify the installation multiple times _within a single browserless endpoint call_ - @max_attempts 2 - @timeout_between_attempts_ms 500 - - @impl true - def report_progress_as, do: "We're verifying that your visitors are being counted correctly" - - @impl true - def perform(%State{url: url} = state, _opts) do - opts = [ - headers: %{content_type: "application/json"}, - body: - JSON.encode!(%{ - code: @puppeteer_wrapper_code, - context: %{ - maxAttempts: @max_attempts, - timeoutMs: @plausible_window_check_timeout_ms, - timeoutBetweenAttemptsMs: @timeout_between_attempts_ms, - cspHostToCheck: PlausibleWeb.Endpoint.host(), - url: url, - userAgent: Plausible.InstallationSupport.user_agent(), - debug: Application.get_env(:plausible, :environment) == "dev" - } - }), - params: %{timeout: @req_timeout + 1000}, - retry: fn _request, response_or_error -> - case response_or_error do - %{status: status} -> Map.get(BrowserlessConfig.retry_policy(), status, false) - %Req.TransportError{reason: :timeout} -> {:delay, 500} - _ -> false - end - end, - retry_log_level: :warning, - max_retries: @max_retries, - receive_timeout: @req_timeout - ] - - extra_opts = Application.get_env(:plausible, __MODULE__)[:req_opts] || [] - opts = Keyword.merge(opts, extra_opts) - - case Req.post(BrowserlessConfig.browserless_function_api_endpoint(), opts) do - {:ok, %{body: body, status: status}} -> - handle_browserless_response(state, body, status) - - {:error, %Req.TransportError{reason: :timeout}} -> - put_diagnostics(state, service_error: %{code: :browserless_timeout}) - - {:error, %{reason: reason}} -> - Logger.warning(warning_message("Browserless request error: #{inspect(reason)}", state)) - - put_diagnostics(state, service_error: %{code: :req_error, extra: reason}) - end - end - - defp handle_browserless_response( - state, - %{"data" => %{"completed" => completed} = data}, - _status - ) do - if completed do - put_diagnostics( - state, - parse_to_diagnostics(data) - ) - else - Logger.warning( - warning_message( - "Browserless function returned with completed: false, error.message: #{inspect(data["error"]["message"])}", - state - ) - ) - - put_diagnostics(state, - service_error: %{code: :browserless_client_error, extra: data["error"]["message"]} - ) - end - end - - defp handle_browserless_response(state, body, status) do - error = "Unhandled browserless response with status: #{status}" - - warning_message("#{error}; body: #{inspect(body)}", state) - |> Logger.warning() - - put_diagnostics(state, service_error: %{code: :bad_browserless_response, extra: status}) - end - - defp warning_message(message, state) do - "[VERIFICATION] #{message} (data_domain='#{state.data_domain}')" - end - - defp parse_to_diagnostics(data), - do: [ - disallowed_by_csp: data["disallowedByCsp"], - tracker_is_in_html: data["trackerIsInHtml"], - plausible_is_on_window: data["plausibleIsOnWindow"], - plausible_is_initialized: data["plausibleIsInitialized"], - plausible_version: data["plausibleVersion"], - plausible_variant: data["plausibleVariant"], - test_event: data["testEvent"], - cookies_consent_result: data["cookiesConsentResult"], - attempts: data["attempts"], - response_status: data["responseStatus"], - service_error: nil - ] -end diff --git a/extra/lib/plausible/installation_support/checks/verify_installation_cache_bust.ex b/extra/lib/plausible/installation_support/checks/verify_installation_cache_bust.ex deleted file mode 100644 index f8a84a492e4ccfd54368c15272e5d6f3b2511b03..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/checks/verify_installation_cache_bust.ex +++ /dev/null @@ -1,42 +0,0 @@ -defmodule Plausible.InstallationSupport.Checks.VerifyInstallationCacheBust do - @moduledoc """ - If the output of previous checks can not be interpreted as successful, - as a last resort, we try to bust the cache of the site under test by adding a query parameter to the URL, - and running VerifyInstallation again. - - Whatever the result from the rerun, that is what we use to interpret the installation. - - The idea is to make sure that any issues we detect will be about the latest version of their website. - - We also want to avoid reporting a successful installation if it took a special cache-busting action to make it work. - """ - - require Logger - alias Plausible.InstallationSupport - use Plausible.InstallationSupport.Check - - @impl true - def report_progress_as, do: "We're verifying that your visitors are being counted correctly" - - @impl true - def perform(%State{url: url} = state, _opts) do - case InstallationSupport.Verification.Checks.interpret_diagnostics(state, telemetry?: false) do - %InstallationSupport.Result{ok?: true} -> - state - - %InstallationSupport.Result{data: %{unhandled: true}} -> - state - - _known_installation_failure -> - reset_diagnostics = %InstallationSupport.Verification.Diagnostics{ - selected_installation_type: state.diagnostics.selected_installation_type - } - - state - |> struct!(diagnostics: reset_diagnostics) - |> struct!(url: InstallationSupport.URL.bust_url(url)) - |> InstallationSupport.Checks.VerifyInstallation.perform([]) - |> put_diagnostics(diagnostics_are_from_cache_bust: true) - end - end -end diff --git a/extra/lib/plausible/installation_support/detection/checks.ex b/extra/lib/plausible/installation_support/detection/checks.ex deleted file mode 100644 index 1514f9a9fb962f68f52e097f82a516153abf2c88..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/detection/checks.ex +++ /dev/null @@ -1,114 +0,0 @@ -defmodule Plausible.InstallationSupport.Detection.Checks do - @moduledoc """ - Checks that are performed pre-installation, providing recommended installation - methods and whether v1 is used on the site. - - In async execution, each check notifies the caller by sending a message to it. - """ - alias Plausible.InstallationSupport.Detection - alias Plausible.InstallationSupport.{State, CheckRunner, Checks} - - require Logger - - @detection_check_timeout 6000 - - def run(url, data_domain, opts \\ []) do - detection_check_timeout = - case Keyword.get(opts, :detection_check_timeout) do - int when is_integer(int) -> int - _ -> @detection_check_timeout - end - - report_to = Keyword.get(opts, :report_to, self()) - async? = Keyword.get(opts, :async?, true) - slowdown = Keyword.get(opts, :slowdown, 500) - detect_v1? = Keyword.get(opts, :detect_v1?, false) - - init_state = - %State{ - url: url, - data_domain: data_domain, - report_to: report_to, - diagnostics: %Detection.Diagnostics{}, - assigns: %{detect_v1?: detect_v1?} - } - - checks = [ - {Checks.Url, []}, - {Checks.Detection, [timeout: detection_check_timeout]} - ] - - CheckRunner.run(init_state, checks, - async?: async?, - report_to: report_to, - slowdown: slowdown - ) - end - - def telemetry_event_success(), do: [:plausible, :detection, :success] - def telemetry_event_failure(), do: [:plausible, :detection, :failure] - - def interpret_diagnostics(%State{ - diagnostics: diagnostics, - data_domain: data_domain, - url: url - }) do - result = Detection.Diagnostics.interpret(diagnostics, url) - - {failed?, trigger_sentry?, msg} = - case result do - %{ok?: true} -> - {false, false, nil} - - %{data: %{failure: :customer_website_issue}} -> - {true, false, "Failed due to an issue with the customer website"} - - %{data: %{failure: :browserless_issue}} -> - {true, true, "Failed due to a Browserless issue"} - - _unknown_failure -> - {true, true, "Unknown failure"} - end - - if failed? do - :telemetry.execute(telemetry_event_failure(), %{}) - Logger.warning("[DETECTION] #{msg} (data_domain='#{data_domain}'): #{inspect(diagnostics)}") - else - :telemetry.execute(telemetry_event_success(), %{}) - end - - if trigger_sentry? do - Sentry.capture_message("[DETECTION] #{msg}", - extra: %{ - message: inspect(diagnostics), - url: url, - hash: :erlang.phash2(diagnostics) - } - ) - end - - result - end - - @unthrottled_checks 3 - @first_slowdown_ms 1000 - def run_with_rate_limit(url, data_domain, opts \\ []) do - case Plausible.RateLimit.check_rate( - "site_detection:#{data_domain}", - :timer.minutes(60), - 10 - ) do - {:allow, count} when count <= @unthrottled_checks -> - {:ok, run(url, data_domain, opts)} - - {:allow, count} when count > @unthrottled_checks -> - # slowdown steps 1x, 4x, 9x, 16x, ... - slowdown_ms = @first_slowdown_ms * (count - @unthrottled_checks) ** 2 - :timer.sleep(slowdown_ms) - {:ok, run(url, data_domain, opts)} - - {:deny, limit} -> - {:error, {:rate_limit_exceeded, limit}} - end - end -end diff --git a/extra/lib/plausible/installation_support/detection/diagnostics.ex b/extra/lib/plausible/installation_support/detection/diagnostics.ex deleted file mode 100644 index 21b2701335fc1f5453daf8507e2389ceef8bedb9..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/detection/diagnostics.ex +++ /dev/null @@ -1,108 +0,0 @@ -defmodule Plausible.InstallationSupport.Detection.Diagnostics do - @moduledoc """ - Module responsible for translating diagnostics to user-friendly errors and recommendations. - """ - - # in this struct, nil means indeterminate - defstruct v1_detected: nil, - gtm_likely: nil, - wordpress_likely: nil, - wordpress_plugin: nil, - npm: nil, - service_error: nil - - @type t :: %__MODULE__{} - - alias Plausible.InstallationSupport.Result - - @spec interpret(t(), String.t()) :: Result.t() - def interpret( - %__MODULE__{ - gtm_likely: true, - service_error: nil - } = diagnostics, - _url - ) do - success("gtm", diagnostics) - end - - def interpret( - %__MODULE__{ - wordpress_likely: true, - service_error: nil - } = diagnostics, - _url - ) do - success( - "wordpress", - diagnostics - ) - end - - def interpret( - %__MODULE__{ - npm: true, - service_error: nil - } = diagnostics, - _url - ) do - success("npm", diagnostics) - end - - def interpret( - %__MODULE__{ - service_error: nil - } = diagnostics, - _url - ) do - success(PlausibleWeb.Tracker.fallback_installation_type(), diagnostics) - end - - def interpret(%__MODULE__{service_error: %{code: code}}, _url) - when code in [:domain_not_found, :invalid_url] do - failure(:customer_website_issue) - end - - def interpret(%__MODULE__{service_error: %{code: code}}, _url) - when code in [:bad_browserless_response, :browserless_timeout, :internal_check_timeout] do - failure(:browserless_issue) - end - - def interpret( - %__MODULE__{service_error: %{code: :browserless_client_error, extra: extra}}, - _url - ) do - cond do - String.contains?(extra, "net::") -> - failure(:customer_website_issue) - - String.contains?(String.downcase(extra), "execution context") -> - failure(:customer_website_issue) - - true -> - failure(:unknown_issue) - end - end - - def interpret(%__MODULE__{} = _diagnostics, _url), do: failure(:unknown_issue) - - defp failure(reason) do - %Result{ - ok?: false, - data: %{failure: reason}, - errors: [reason] - } - end - - defp success(suggested_technology, diagnostics) do - %Result{ - ok?: true, - data: %{ - v1_detected: diagnostics.v1_detected, - wordpress_plugin: diagnostics.wordpress_plugin, - npm: diagnostics.npm, - suggested_technology: suggested_technology - } - } - end -end diff --git a/extra/lib/plausible/installation_support/installation_support.ex b/extra/lib/plausible/installation_support/installation_support.ex deleted file mode 100644 index f724a96d28ea13e8f1b495df1bd67062d430bf43..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/installation_support.ex +++ /dev/null @@ -1,20 +0,0 @@ -defmodule Plausible.InstallationSupport do - @moduledoc """ - This top level module is the middle ground between pre-installation - site scans and verification of whether Plausible has been installed - correctly. - - Defines the user-agent used with checks. - """ - use Plausible - - on_ee do - def user_agent() do - "Plausible Verification Agent - if abused, contact support@plausible.io" - end - else - def user_agent() do - "Plausible Community Edition" - end - end -end diff --git a/extra/lib/plausible/installation_support/result.ex b/extra/lib/plausible/installation_support/result.ex deleted file mode 100644 index baa08d645dddce5927e1b0c54251a25a4342e5d2..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/result.ex +++ /dev/null @@ -1,18 +0,0 @@ -defmodule Plausible.InstallationSupport.Result do - @moduledoc """ - Diagnostics interpretation result. - - ## Example - ok?: false, - data: nil, - errors: [error.message], - recommendations: [%{text: error.recommendation, url: error.url}] - - ok?: true, - data: %{}, - errors: [], - recommendations: [] - """ - defstruct ok?: false, errors: [], recommendations: [], data: nil - @type t :: %__MODULE__{} -end diff --git a/extra/lib/plausible/installation_support/state.ex b/extra/lib/plausible/installation_support/state.ex deleted file mode 100644 index 4072af9cf0b38f7aeac74017fdf95cef5599b637..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/state.ex +++ /dev/null @@ -1,40 +0,0 @@ -defmodule Plausible.InstallationSupport.State do - @moduledoc """ - The state to be shared across check during site installation support. - - Assigns are meant to be used to communicate between checks, while - `diagnostics` are specific to the check group being executed. - """ - - defstruct url: nil, - data_domain: nil, - report_to: nil, - assigns: %{}, - diagnostics: %{}, - skip_further_checks?: false - - @type diagnostics_type :: - Plausible.InstallationSupport.Verification.Diagnostics.t() - | Plausible.InstallationSupport.Detection.Diagnostics.t() - - @type t :: %__MODULE__{ - url: String.t() | nil, - data_domain: String.t() | nil, - report_to: pid() | nil, - assigns: map(), - diagnostics: diagnostics_type(), - skip_further_checks?: boolean() - } - - def assign(%__MODULE__{} = state, assigns) do - %{state | assigns: Map.merge(state.assigns, Enum.into(assigns, %{}))} - end - - def put_diagnostics(%__MODULE__{} = state, diagnostics) when is_list(diagnostics) do - %{state | diagnostics: struct!(state.diagnostics, diagnostics)} - end - - def put_diagnostics(%__MODULE__{} = state, diagnostics) do - put_diagnostics(state, List.wrap(diagnostics)) - end -end diff --git a/extra/lib/plausible/installation_support/url.ex b/extra/lib/plausible/installation_support/url.ex deleted file mode 100644 index 97ca4b39a842bb88ec0241652b77ae8d1137ab52..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/url.ex +++ /dev/null @@ -1,25 +0,0 @@ -defmodule Plausible.InstallationSupport.URL do - @moduledoc """ - URL utilities for installation support, including cache busting functionality. - """ - - def bust_url(url) do - cache_invalidator = abs(:erlang.unique_integer()) - update_url(url, cache_invalidator) - end - - defp update_url(url, invalidator) do - url - |> URI.parse() - |> then(fn uri -> - updated_query = - (uri.query || "") - |> URI.decode_query() - |> Map.put("plausible_verification", invalidator) - |> URI.encode_query() - - struct!(uri, query: updated_query) - end) - |> to_string() - end -end diff --git a/extra/lib/plausible/installation_support/verification/checks.ex b/extra/lib/plausible/installation_support/verification/checks.ex deleted file mode 100644 index 2a3328d21bcb0f0095772d769b8dc5c36531a39c..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/verification/checks.ex +++ /dev/null @@ -1,100 +0,0 @@ -defmodule Plausible.InstallationSupport.Verification.Checks do - @moduledoc """ - Checks that are performed during tracker script installation verification. - - In async execution, each check notifies the caller by sending a message to it. - """ - alias Plausible.InstallationSupport.Verification - alias Plausible.InstallationSupport.{State, CheckRunner, Checks} - - require Logger - - @verify_installation_check_timeout 20_000 - - @spec run(String.t(), String.t(), String.t(), Keyword.t()) :: {:ok, pid()} | State.t() - def run(url, data_domain, installation_type, opts \\ []) do - # Timeout option for testing purposes - verify_installation_check_timeout = - case Keyword.get(opts, :verify_installation_check_timeout) do - int when is_integer(int) -> int - _ -> @verify_installation_check_timeout - end - - report_to = Keyword.get(opts, :report_to, self()) - async? = Keyword.get(opts, :async?, true) - slowdown = Keyword.get(opts, :slowdown, 500) - - init_state = - %State{ - url: url, - data_domain: data_domain, - report_to: report_to, - diagnostics: %Verification.Diagnostics{ - selected_installation_type: installation_type - } - } - - checks = [ - {Checks.Url, []}, - {Checks.VerifyInstallation, [timeout: verify_installation_check_timeout]}, - {Checks.VerifyInstallationCacheBust, [timeout: verify_installation_check_timeout]} - ] - - CheckRunner.run(init_state, checks, - async?: async?, - report_to: report_to, - slowdown: slowdown - ) - end - - def telemetry_event_handled(), do: [:plausible, :verification, :handled] - def telemetry_event_unhandled(), do: [:plausible, :verification, :unhandled] - - def interpret_diagnostics( - %State{ - diagnostics: diagnostics, - data_domain: data_domain, - url: url - }, - opts \\ [] - ) do - telemetry? = Keyword.get(opts, :telemetry?, true) - - result = - Verification.Diagnostics.interpret( - diagnostics, - data_domain, - url - ) - - case {telemetry?, result.data} do - {false, _} -> - :skip - - {_, %{unhandled: true, browserless_issue: browserless_issue}} -> - sentry_msg = - if browserless_issue, - do: "Browserless failure in verification", - else: "Unhandled case for site verification" - - Sentry.capture_message(sentry_msg, - extra: %{ - message: inspect(diagnostics), - url: url, - hash: :erlang.phash2(diagnostics) - } - ) - - Logger.warning( - "[VERIFICATION] Unhandled case (data_domain='#{data_domain}'): #{inspect(diagnostics)}" - ) - - :telemetry.execute(telemetry_event_unhandled(), %{}) - - _ -> - :telemetry.execute(telemetry_event_handled(), %{}) - end - - result - end -end diff --git a/extra/lib/plausible/installation_support/verification/diagnostics.ex b/extra/lib/plausible/installation_support/verification/diagnostics.ex deleted file mode 100644 index 0773c07550f8d34fd91fabdd60a97a335705d237..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/installation_support/verification/diagnostics.ex +++ /dev/null @@ -1,389 +0,0 @@ -defmodule Plausible.InstallationSupport.Verification.Diagnostics do - @moduledoc """ - Module responsible for translating diagnostics to user-friendly errors and recommendations. - """ - - # In this struct - # - the default nil value for each field means that the value is indeterminate (e.g. we didn't even get to the part where response_status is set) - defstruct [ - :selected_installation_type, - :disallowed_by_csp, - :tracker_is_in_html, - :plausible_is_on_window, - :plausible_is_initialized, - :plausible_version, - :plausible_variant, - :diagnostics_are_from_cache_bust, - :test_event, - :cookies_consent_result, - :response_status, - :service_error, - :attempts - ] - - @type t :: %__MODULE__{} - - @verify_manually_url "https://plausible.io/docs/troubleshoot-integration#how-to-manually-check-your-integration" - - alias Plausible.InstallationSupport.Result - - defmodule Error do - @moduledoc """ - Error that has compile-time enforced checks for the attributes. - """ - - @enforce_keys [:message, :recommendation] - defstruct [:message, :recommendation, :url] - - def new!(attrs) do - message = Map.fetch!(attrs, :message) - - if String.ends_with?(message, ".") do - raise ArgumentError, "Error message must not end with a period: #{inspect(message)}" - end - - if String.ends_with?(attrs[:recommendation], ".") do - raise ArgumentError, - "Error recommendation must not end with a period: #{inspect(attrs[:recommendation])}" - end - - if is_binary(attrs[:url]) and not String.starts_with?(attrs[:url], "https://plausible.io") do - raise ArgumentError, - "Recommendation url must start with 'https://plausible.io': #{inspect(attrs[:url])}" - end - - struct!(__MODULE__, attrs) - end - end - - @error_succeeds_only_after_cache_bust Error.new!(%{ - message: "We detected an issue with your site's cache", - recommendation: - "Please clear the cache for your site to ensure that your visitors will load the latest version of your site that has Plausible correctly installed", - url: - "https://plausible.io/docs/troubleshoot-integration#have-you-cleared-the-cache-of-your-site" - }) - - @spec interpret(t(), String.t(), String.t()) :: Result.t() - def interpret( - %__MODULE__{ - test_event: %{ - "normalizedBody" => %{ - "domain" => domain - }, - "responseStatus" => response_status - }, - service_error: nil, - diagnostics_are_from_cache_bust: true - }, - expected_domain, - _url - ) - when response_status in [200, 202] and - domain == expected_domain, - do: handled_error(@error_succeeds_only_after_cache_bust) - - def interpret( - %__MODULE__{ - test_event: %{ - "normalizedBody" => %{ - "domain" => domain - }, - "responseStatus" => response_status - }, - service_error: nil - }, - expected_domain, - _url - ) - when response_status in [200, 202] and - domain == expected_domain, - do: success() - - def interpret( - %__MODULE__{ - test_event: %{ - "normalizedBody" => %{ - "domain" => domain - }, - "responseStatus" => response_status - }, - service_error: nil, - selected_installation_type: selected_installation_type - }, - expected_domain, - _url - ) - when response_status in [200, 202] and - domain != expected_domain do - error_unexpected_domain(selected_installation_type) - |> handled_error() - end - - @error_proxy_network_error Error.new!(%{ - message: - "We got an unexpected response from the proxy you are using for Plausible", - recommendation: - "Please check that you've configured the proxied /event route correctly", - url: "https://plausible.io/docs/proxy/introduction" - }) - @error_plausible_network_error Error.new!(%{ - message: "We couldn't verify your website", - recommendation: - "Please try verifying again in a few minutes, or verify your installation manually", - url: @verify_manually_url - }) - - def interpret( - %__MODULE__{ - test_event: %{ - "requestUrl" => request_url, - "responseStatus" => response_status - }, - service_error: nil - }, - _expected_domain, - _url - ) - when response_status not in [200, 202] and is_binary(request_url) do - proxying? = not String.starts_with?(request_url, PlausibleWeb.Endpoint.url()) - - if proxying? do - handled_error(@error_proxy_network_error) - else - handled_error(@error_plausible_network_error) - end - end - - def interpret( - %__MODULE__{ - tracker_is_in_html: false, - selected_installation_type: "manual", - plausible_is_on_window: plausible_is_on_window, - plausible_is_initialized: plausible_is_initialized, - service_error: nil - }, - _expected_domain, - _url - ) - when plausible_is_on_window != true and - plausible_is_initialized != true do - error_plausible_not_found("manual") - |> handled_error() - end - - @error_csp_disallowed Error.new!(%{ - message: - "We encountered an issue with your site's Content Security Policy (CSP)", - recommendation: - "Please add plausible.io domain specifically to the allowed list of domains in your site's CSP", - url: - "https://plausible.io/docs/troubleshoot-integration#does-your-site-use-a-content-security-policy-csp" - }) - def interpret( - %__MODULE__{ - disallowed_by_csp: true, - service_error: nil - }, - _expected_domain, - _url - ), - do: handled_error(@error_csp_disallowed) - - @error_domain_not_found Error.new!(%{ - message: "We couldn't find your website at <%= @attempted_url %>", - recommendation: - "Please check that the domain you entered is correct and reachable publicly. If it's intentionally private, you'll need to verify that Plausible works manually", - url: @verify_manually_url - }) - - def interpret(%__MODULE__{service_error: %{code: code}}, expected_domain, url) - when code in [:domain_not_found, :invalid_url] do - attempted_url = if url, do: url, else: "https://#{expected_domain}" - - @error_domain_not_found - |> handled_error(attempted_url: attempted_url) - |> struct!(data: %{offer_custom_url_input: true}) - end - - @error_browserless_network Error.new!(%{ - message: - "We couldn't verify your website at <%= @attempted_url %>", - recommendation: - "Accessing the website resulted in a network error. Please verify your installation manually", - url: @verify_manually_url - }) - - def interpret( - %__MODULE__{service_error: %{code: :browserless_client_error, extra: "net::" <> _}}, - _expected_domain, - url - ) - when is_binary(url) do - attempted_url = shorten_url(url) - - @error_browserless_network - |> handled_error(attempted_url: attempted_url) - |> struct!(data: %{offer_custom_url_input: true}) - end - - @error_browserless_temporary Error.new!(%{ - message: - "Our verification tool encountered a temporary service error", - recommendation: - "Please try again in a few minutes or verify your installation manually", - url: @verify_manually_url - }) - - def interpret(%__MODULE__{service_error: %{code: code}}, _expected_domain, _url) - when code in [:bad_browserless_response, :browserless_timeout, :internal_check_timeout] do - unhandled_error(@error_browserless_temporary, browserless_issue: true) - end - - @error_unexpected_page_response Error.new!(%{ - message: - "We couldn't verify your website at <%= @attempted_url %>", - recommendation: - "Accessing the website resulted in an unexpected status code <%= @page_response_status %>. Please check for anything that might be blocking us from reaching your site, like a firewall, authentication requirements, or CDN rules. If you'd prefer, you can skip this and verify your installation manually", - url: @verify_manually_url - }) - - def interpret( - %__MODULE__{ - plausible_is_on_window: plausible_is_on_window, - plausible_is_initialized: plausible_is_initialized, - response_status: page_response_status - }, - _expected_domain, - url - ) - when is_binary(url) and not is_nil(page_response_status) and - (page_response_status < 200 or page_response_status >= 300) and - plausible_is_on_window != true and - plausible_is_initialized != true do - attempted_url = shorten_url(url) - - @error_unexpected_page_response - |> handled_error(attempted_url: attempted_url, page_response_status: page_response_status) - |> struct!(data: %{offer_custom_url_input: true}) - end - - def interpret( - %__MODULE__{ - selected_installation_type: selected_installation_type, - plausible_is_on_window: false, - service_error: nil - }, - _expected_domain, - _url - ) do - error_plausible_not_found(selected_installation_type) - |> handled_error() - end - - def interpret(%__MODULE__{} = diagnostics, _expected_domain, _url) do - error_plausible_not_found(diagnostics.selected_installation_type) - |> unhandled_error() - end - - @message_plausible_not_found "We couldn't detect Plausible on your site" - @error_plausible_not_found_for_manual Error.new!(%{ - message: @message_plausible_not_found, - recommendation: - "Please make sure you've copied the snippet to the head of your site, or verify your installation manually", - url: @verify_manually_url - }) - @error_plausible_not_found_for_npm Error.new!(%{ - message: @message_plausible_not_found, - recommendation: - "Please make sure you've initialized Plausible on your site, or verify your installation manually", - url: @verify_manually_url - }) - @error_plausible_not_found_for_gtm Error.new!(%{ - message: @message_plausible_not_found, - recommendation: - "Please make sure you've configured the GTM template correctly, or verify your installation manually", - url: @verify_manually_url - }) - @error_plausible_not_found_for_wordpress Error.new!(%{ - message: @message_plausible_not_found, - recommendation: - "Please make sure you've enabled the plugin, or verify your installation manually", - url: @verify_manually_url - }) - defp error_plausible_not_found(selected_installation_type) do - case selected_installation_type do - "npm" -> @error_plausible_not_found_for_npm - "gtm" -> @error_plausible_not_found_for_gtm - "wordpress" -> @error_plausible_not_found_for_wordpress - _ -> @error_plausible_not_found_for_manual - end - end - - @unexpected_domain_message "Plausible test event is not for this site" - @error_unexpected_domain_for_manual Error.new!(%{ - message: @unexpected_domain_message, - recommendation: - "Please check that the snippet on your site matches the installation instructions exactly, or verify your installation manually", - url: @verify_manually_url - }) - - @error_unexpected_domain_for_npm Error.new!(%{ - message: @unexpected_domain_message, - recommendation: - "Please check that you've initialized Plausible with the correct domain, or verify your installation manually", - url: @verify_manually_url - }) - - @error_unexpected_domain_for_gtm Error.new!(%{ - message: @unexpected_domain_message, - recommendation: - "Please check that you've entered the ID in the GTM template correctly, or verify your installation manually", - url: @verify_manually_url - }) - - @error_unexpected_domain_for_wordpress Error.new!(%{ - message: @unexpected_domain_message, - recommendation: - "Please check that you've installed the WordPress plugin correctly, or verify your installation manually", - url: @verify_manually_url - }) - defp error_unexpected_domain(selected_installation_type) do - case selected_installation_type do - "npm" -> @error_unexpected_domain_for_npm - "gtm" -> @error_unexpected_domain_for_gtm - "wordpress" -> @error_unexpected_domain_for_wordpress - _ -> @error_unexpected_domain_for_manual - end - end - - defp shorten_url(url) do - String.split(url, "?") |> List.first() - end - - defp success() do - %Result{ok?: true} - end - - defp handled_error(%Error{} = error, assigns \\ []) do - message = EEx.eval_string(error.message, assigns: assigns) - recommendation = EEx.eval_string(error.recommendation, assigns: assigns) - - %Result{ - ok?: false, - errors: [message], - recommendations: [%{text: recommendation, url: error.url}] - } - end - - defp unhandled_error(%Error{} = error, opts \\ []) do - browserless_issue = Keyword.get(opts, :browserless_issue, false) - - %Result{ - ok?: false, - data: %{unhandled: true, browserless_issue: browserless_issue}, - errors: [error.message], - recommendations: [%{text: error.recommendation, url: error.url}] - } - end -end diff --git a/extra/lib/plausible/plugins/api/funnels.ex b/extra/lib/plausible/plugins/api/funnels.ex deleted file mode 100644 index fac6248090e6a7dc0de884207987c1ec7a6d31fa..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/plugins/api/funnels.ex +++ /dev/null @@ -1,61 +0,0 @@ -defmodule Plausible.Plugins.API.Funnels do - @moduledoc """ - Plugins API context module for Funnels. - All high level Funnel operations should be implemented here. - """ - use Plausible - - import Plausible.Pagination - - alias Plausible.Repo - alias PlausibleWeb.Plugins.API.Schemas.Funnel.CreateRequest - - @type create_request() :: CreateRequest.t() - - @spec create( - Plausible.Site.t(), - create_request() - ) :: - {:ok, Plausible.Funnel.t()} - | {:error, Ecto.Changeset.t()} - | {:error, :upgrade_required} - def create(site, create_request) do - Repo.transaction(fn -> - with {:ok, goals} <- Plausible.Plugins.API.Goals.create(site, create_request.funnel.steps), - {:ok, funnel} <- get_or_create(site, create_request.funnel.name, goals) do - funnel - else - {:error, error} -> - Repo.rollback(error) - end - end) - end - - defp get_or_create(site, name, goals) do - case get(site, name) do - %Plausible.Funnel{} = funnel -> - {:ok, funnel} - - nil -> - case Plausible.Funnels.create(site, name, goals) do - {:ok, funnel} -> - # reload result with steps included - {:ok, get(site, funnel.id)} - - error -> - error - end - end - end - - @spec get_funnels(Plausible.Site.t(), map()) :: {:ok, Paginator.Page.t()} - def get_funnels(site, params) do - query = Plausible.Funnels.with_goals_query(site) - {:ok, paginate(query, params, cursor_fields: [{:id, :desc}])} - end - - @spec get(Plausible.Site.t(), pos_integer() | String.t()) :: nil | Plausible.Funnel.t() - def get(site, by) when is_integer(by) or is_binary(by) do - Plausible.Funnels.get(site, by) - end -end diff --git a/extra/lib/plausible/site/tracker_script_id_cache.ex b/extra/lib/plausible/site/tracker_script_id_cache.ex deleted file mode 100644 index 9711a5756866b694ca643896e33ebcdb6d0700e3..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/site/tracker_script_id_cache.ex +++ /dev/null @@ -1,50 +0,0 @@ -defmodule Plausible.Site.TrackerScriptIdCache do - @moduledoc """ - Cache for tracker script IDs to avoid excessive database lookups when the - script API endpoint is bombarded with random IDs. - """ - alias Plausible.Site.TrackerScriptConfiguration - alias PlausibleWeb.Tracker - - import Ecto.Query - use Plausible - use Plausible.Cache - - @cache_name :tracker_script_id_cache - - @impl true - def name(), do: @cache_name - - @impl true - def child_id(), do: :cache_tracker_script_id - - @impl true - def count_all() do - Plausible.Repo.aggregate(TrackerScriptConfiguration, :count) - end - - @impl true - def base_db_query(), do: Tracker.get_tracker_script_configuration_base_query() - - @impl true - def get_from_source(id) do - case Tracker.get_tracker_script_configuration_by_id(id) do - %TrackerScriptConfiguration{site: %{domain: _domain}} -> - true - - _ -> - nil - end - end - - @impl true - def unwrap_cache_keys(items) do - Enum.reduce(items, [], fn - tracker_script_configuration, acc -> - [ - {tracker_script_configuration.id, true} - | acc - ] - end) - end -end diff --git a/extra/lib/plausible/stats/exploration.ex b/extra/lib/plausible/stats/exploration.ex deleted file mode 100644 index 8b9d6be511eb02d7cf52994d6df56bd2838b6ffe..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/stats/exploration.ex +++ /dev/null @@ -1,613 +0,0 @@ -defmodule Plausible.Stats.Exploration do - @moduledoc """ - Query logic for user journey exploration. - """ - - import Ecto.Query - import Plausible.Stats.SQL.Fragments - import Plausible.Stats.Util, only: [percentage: 2] - - alias Plausible.ClickhouseRepo - alias Plausible.Stats.Base - alias Plausible.Stats.Exploration.Journey - alias Plausible.Stats.Filters - alias Plausible.Stats.Query - - @type journey() :: [Journey.Step.t()] - @type direction() :: :forward | :backward - - defguard is_direction(value) when value in [:forward, :backward] - - @type next_step() :: %{ - step: Journey.Step.t(), - visitors: pos_integer() - } - - @type funnel_step() :: %{ - step: Journey.Step.t(), - visitors: non_neg_integer(), - dropoff: non_neg_integer(), - dropoff_percentage: String.t(), - conversion_rate: String.t(), - conversion_rate_step: String.t() - } - - @max_steps 20 - @max_candidates 50 - - @next_steps_defaults [ - search_term: "", - direction: :forward, - max_candidates: 10, - include_wildcard?: true - ] - - @spec max_steps() :: pos_integer() - def max_steps, do: @max_steps - - @spec next_steps(Plausible.Site.t(), Query.t(), journey(), keyword()) :: - {:ok, [next_step()]} | {:error, :journey_too_long} - def next_steps(site, query, journey, opts \\ []) - - def next_steps(_site, _query, journey, _opts) when length(journey) >= @max_steps do - {:error, :journey_too_long} - end - - def next_steps(site, query, journey, opts) do - opts = Keyword.merge(@next_steps_defaults, opts) - direction = Keyword.fetch!(opts, :direction) - search_term = Keyword.fetch!(opts, :search_term) - max_candidates = min(Keyword.fetch!(opts, :max_candidates), @max_candidates) - include_wilcard? = Keyword.fetch!(opts, :include_wildcard?) - - goals = - site - |> Plausible.Goals.for_site(include_goals_with_custom_props?: false) - |> filter_eligible_goals() - - query - |> Base.base_event_query() - |> next_steps_query(journey, search_term, direction, max_candidates, include_wilcard?, goals) - # We pass the query struct to record query metadata for - # the CH debug console. - |> ClickhouseRepo.all(query: query) - |> then(&{:ok, &1}) - end - - @spec journey_funnel(Query.t(), journey(), direction()) :: - {:ok, [funnel_step()]} | {:error, :empty_journey | :journey_too_long} - def journey_funnel(query, journey, direction \\ :forward) - - def journey_funnel(_query, [], _direction), do: {:error, :empty_journey} - - def journey_funnel(_query, journey, _direction) when length(journey) > @max_steps do - {:error, :journey_too_long} - end - - def journey_funnel(query, journey, direction) when is_direction(direction) do - query - |> Base.base_event_query() - |> journey_funnel_query(journey, direction) - # We pass the query struct to record query metadata for - # the CH debug console. - |> ClickhouseRepo.all(query: query) - |> to_funnel(journey) - |> then(&{:ok, &1}) - end - - defp filter_eligible_goals(goals) do - Enum.reject(goals, fn g -> - Plausible.Goal.Revenue.revenue?(g) or g.scroll_threshold > -1 or - Plausible.Goal.has_custom_props?(g) - end) - end - - defp next_steps_query( - query, - steps, - search_term, - direction, - max_candidates, - include_wildcard?, - goals - ) - when is_direction(direction) do - next_step_idx = length(steps) + 1 - q_steps = steps_query(query, next_step_idx, direction) - - next_name = :"name#{next_step_idx}" - next_pathname = :"pathname#{next_step_idx}" - - q_matches = - from(s in subquery(q_steps), - select: %{ - user_id: s.user_id, - name: selected_as(field(s, ^next_name), :name), - pathname: selected_as(field(s, ^next_pathname), :pathname), - _sample_factor: fragment("any(?)", s._sample_factor) - }, - group_by: [selected_as(:name), selected_as(:pathname), s.user_id] - ) - - q_matches = - steps - |> Enum.with_index() - |> Enum.reduce(q_matches, fn {step, idx}, q -> - step_condition = step_condition(step, idx + 1) - - from(s in q, where: ^step_condition) - end) - |> maybe_exclude_step_matches(List.last(steps)) - - # Fan out each q_combined row into up to two output rows (exact + wildcard) - # using ARRAY JOIN over a small boolean array. - # - # For each row we build [false, true] and filter it down to just [false] - # when the wildcard row should be suppressed (non-pageview, only one distinct - # subpath, or same visitor count as exact). ARRAY JOIN then emits one or more - # rows per group. The joined boolean `is_wildcard` selects which values to - # use for visitors / includes_subpaths / subpaths_count. - q_wildcard_combined_matches = - q_matches - |> combined_wildcard_query(include_wildcard?) - |> combined_wildcard_matches_query() - - q_all_combined_matches = - if q_goal_matches = goals_query(q_matches, goals) do - q_wildcard_combined_matches - |> exclude_goal_matches(goals) - |> union_all(^q_goal_matches) - else - q_wildcard_combined_matches - end - - from(m in subquery(q_all_combined_matches), - select: %{ - step: %Journey.Step{ - label: - selected_as( - fragment("if(? != '', ?, ?)", m.name, m.label, ^Journey.Step.journey_end_label()), - :label - ), - name: fragment("if(? != '', ?, ?)", m.name, m.name, ^Journey.Step.journey_end_event()), - pathname: m.pathname, - includes_subpaths: m.includes_subpaths, - subpaths_count: m.subpaths_count, - is_goal: m.is_goal - }, - visitors: m.visitors - }, - order_by: [ - desc: m.visitors, - asc: m.pathname, - asc: m.name - ], - limit: ^max_candidates - ) - |> maybe_search(search_term) - end - - defp goals_query(_, []), do: nil - - defp goals_query(q_matches, goals) do - values = - Enum.map(goals, fn g -> - pathname = g.page_path || "" - - regex_pathname = - if String.contains?(pathname, "*") do - Filters.Utils.page_regex(pathname) - else - "" - end - - %{ - label: g.display_name, - name: g.event_name || "pageview", - pathname: pathname, - regex_pathname: regex_pathname - } - end) - - types = %{label: :string, name: :string, pathname: :string, regex_pathname: :string} - - query = - from(m in subquery(q_matches), - inner_join: g in values(values, types), - on: - g.name == m.name and - (g.name != "pageview" or - (g.name == "pageview" and - fragment( - "if(? != '', match(?, ?), ? = ?)", - g.regex_pathname, - m.pathname, - g.regex_pathname, - m.pathname, - g.pathname - ))), - select: %{ - label: selected_as(g.label, :label), - name: selected_as(g.name, :name), - pathname: selected_as(g.pathname, :pathname), - visitors: scale_sample(fragment("uniq(?)", m.user_id)), - includes_subpaths: fragment("CAST(?, 'Bool')", false), - subpaths_count: 0, - is_goal: fragment("CAST(?, 'Bool')", true) - }, - group_by: [selected_as(:label), selected_as(:name), selected_as(:pathname)] - ) - - from(m in subquery(query), - where: m.visitors > 0 - ) - end - - defp maybe_exclude_step_matches(query, %{includes_subpaths: true} = step) do - pattern = wildcard_pattern(step.pathname) - - from m in query, - where: - selected_as(:name) != ^step.name or - not fragment("match(?, ?)", selected_as(:pathname), ^pattern) - end - - defp maybe_exclude_step_matches(query, %{is_goal: true, name: "pageview"} = step) do - if String.contains?(step.pathname, "*") do - pattern = Filters.Utils.page_regex(step.pathname) - - from m in query, - where: - selected_as(:name) != ^step.name or - not fragment("match(?, ?)", selected_as(:pathname), ^pattern) - else - query - end - end - - defp maybe_exclude_step_matches(query, _), do: query - - defp exclude_goal_matches(query, goals) do - to_exclude = - goals - |> Enum.filter(fn g -> is_nil(g.page_path) or not String.contains?(g.page_path, "*") end) - |> Enum.map(fn g -> - %{ - name: g.event_name || "pageview", - pathname: g.page_path || "" - } - end) - - if to_exclude != [] do - types = %{name: :string, pathname: :string} - - from m in subquery(query), - left_join: g in values(to_exclude, types), - on: g.name == m.name and g.pathname == m.pathname, - where: g.name == "" or m.includes_subpaths - else - query - end - end - - # Expand each (name, pathname, user_id) row into all prefix paths via - # ARRAY JOIN, then aggregate once to get both exact and wildcard visitor - # counts in a single scan of events_v2. - # - # The arrayFold expansion includes the original pathname as the last - # element, so uniqIf(user_id, original_pathname = prefix_pathname) gives the - # exact-match count for free, alongside the wildcard uniq(user_id) and the - # uniq(original_pathname) subpath count — all in one GROUP BY. - # - # Non-pageview events are included in the expansion but produce only a - # single prefix (their exact pathname), so they naturally get - # subpaths_count = 1 and are only emitted as exact rows. - @wildcard_array_join """ - if(? = 'pageview', arrayFold( - acc, x -> arrayPushBack(acc, concat(acc[-1], '/', x)), - arraySlice(splitByChar('/', ?) AS split_pathname, 2), - arraySlice(split_pathname, 1, 1)), [?]) - """ - - defp combined_wildcard_query(q_matches, true = _include_wildcard?) do - from(em in subquery(q_matches), - join: pname in fragment(@wildcard_array_join, em.name, em.pathname, em.pathname), - on: true, - hints: "ARRAY", - where: em.name != "pageview" or selected_as(:pathname) != "", - select: %{ - name: em.name, - pathname: selected_as(fragment("?", pname), :pathname), - exact_visitors: - scale_sample(fragment("uniqIf(?, ? = ?)", em.user_id, em.pathname, pname)), - wildcard_visitors: - selected_as(scale_sample(fragment("uniq(?)", em.user_id)), :wildcard_visitors), - subpaths_count: scale_sample(fragment("uniq(?)", em.pathname)) - }, - group_by: [em.name, selected_as(:pathname)] - ) - end - - defp combined_wildcard_query(q_matches, false = _include_wildcard?) do - from(em in subquery(q_matches), - where: em.name != "pageview" or selected_as(:pathname) != "", - select: %{ - name: em.name, - pathname: selected_as(em.pathname, :pathname), - exact_visitors: - selected_as(scale_sample(fragment("uniq(?)", em.user_id)), :exact_visitors), - wildcard_visitors: selected_as(:exact_visitors), - subpaths_count: 1 - }, - group_by: [em.name, selected_as(:pathname)] - ) - end - - defp combined_wildcard_matches_query(q_wildcard_combined) do - from(m in subquery(q_wildcard_combined), - join: - is_wildcard in fragment( - """ - arrayFilter( - x -> x = false OR (? = 'pageview' AND ? != '/' AND ? > 1 AND ? != ?), - [false, true] - ) - """, - m.name, - m.pathname, - m.subpaths_count, - m.wildcard_visitors, - m.exact_visitors - ), - on: true, - hints: "ARRAY", - where: selected_as(:visitors) > 0, - select: %{ - label: - selected_as( - fragment( - "if(? != 'pageview', ?, ?)", - m.name, - m.name, - m.pathname - ), - :label - ), - name: selected_as(m.name, :name), - pathname: selected_as(m.pathname, :pathname), - visitors: - selected_as( - fragment("if(?, ?, ?)", is_wildcard, m.wildcard_visitors, m.exact_visitors), - :visitors - ), - includes_subpaths: - selected_as(fragment("CAST(?, 'Bool')", is_wildcard), :includes_subpaths), - subpaths_count: fragment("if(?, ?, 0)", is_wildcard, m.subpaths_count), - is_goal: fragment("CAST(?, 'Bool')", false) - } - ) - end - - defp journey_funnel_query(query, steps, direction) do - q_steps = steps_query(query, length(steps), direction) - - q_funnel = from(s in subquery(q_steps), select: %{}) - - steps - |> Enum.with_index() - |> Enum.reduce(q_funnel, fn - {step, 0}, q -> - step_condition = step_condition(step, 1) - - from(e in q, - select_merge: %{ - 1 => scale_sample(fragment("uniq(?)", e.user_id)) - }, - where: ^step_condition - ) - - {_step, idx}, q -> - current_steps = Enum.take(steps, idx + 1) - - step_conditions = - current_steps - |> Enum.with_index() - |> Enum.reduce(dynamic(true), fn {step, idx}, acc -> - step_condition = step_condition(step, idx + 1) - dynamic([q], fragment("? and ?", ^acc, ^step_condition)) - end) - - step_count = - dynamic( - [e], - scale_sample( - fragment( - "uniqIf(?, ?)", - e.user_id, - ^step_conditions - ) - ) - ) - - from(e in q, select_merge: ^%{(idx + 1) => step_count}) - end) - end - - defp steps_query(query, steps, direction) when is_integer(steps) do - q_pairs = - from(e in query, - windows: [ - session_window: [ - partition_by: e.user_id, - order_by: [asc: e.timestamp] - ] - ], - select: %{ - site_id: e.site_id, - user_id: e.user_id, - _sample_factor: e._sample_factor, - row_number: row_number() |> over(:session_window), - name: e.name, - pathname: fragment("if(? = 'pageview', ?, '')", e.name, e.pathname), - timestamp: e.timestamp - }, - where: e.name != "engagement" and e.revenue_reporting_currency == "" - ) - |> select_previous(direction) - - q_steps = - from(e in subquery(q_pairs), - windows: [ - step_window: [partition_by: e.user_id, order_by: [asc: e.timestamp, asc: e.row_number]] - ], - select: %{ - user_id: e.user_id, - _sample_factor: e._sample_factor, - name1: e.name, - pathname1: e.pathname - }, - where: e.prev_name != e.name or e.prev_pathname != e.pathname - ) - - if steps > 1 do - Enum.reduce(1..(steps - 1), q_steps, fn idx, q -> - select_next(q, idx, direction) - end) - else - q_steps - end - end - - defp select_previous(query, :forward) do - from(e in query, - select_merge: %{ - prev_pathname: - lag(fragment("if(? = 'pageview', ?, '')", e.name, e.pathname)) |> over(:session_window), - prev_name: lag(e.name) |> over(:session_window) - } - ) - end - - defp select_previous(query, :backward) do - from(e in query, - select_merge: %{ - prev_pathname: - lead(fragment("if(? = 'pageview', ?, '')", e.name, e.pathname)) |> over(:session_window), - prev_name: lead(e.name) |> over(:session_window) - } - ) - end - - defp select_next(query, idx, :forward) do - from(e in query, - select_merge: %{ - ^:"name#{idx + 1}" => lead(e.name, ^idx) |> over(:step_window), - ^:"pathname#{idx + 1}" => lead(e.pathname, ^idx) |> over(:step_window) - } - ) - end - - defp select_next(query, idx, :backward) do - from(e in query, - select_merge: %{ - ^:"name#{idx + 1}" => lag(e.name, ^idx) |> over(:step_window), - ^:"pathname#{idx + 1}" => lag(e.pathname, ^idx) |> over(:step_window) - } - ) - end - - defp step_condition(step, count) when count <= @max_steps do - cond do - step.includes_subpaths -> - pattern = wildcard_pattern(step.pathname) - - dynamic( - [s], - field(s, ^:"name#{count}") == ^step.name and - fragment("match(?, ?)", field(s, ^:"pathname#{count}"), ^pattern) - ) - - step.is_goal and step.name == "pageview" and String.contains?(step.pathname, "*") -> - pattern = Filters.Utils.page_regex(step.pathname) - - dynamic( - [s], - field(s, ^:"name#{count}") == ^step.name and - fragment("match(?, ?)", field(s, ^:"pathname#{count}"), ^pattern) - ) - - step.name == Journey.Step.journey_end_event() -> - dynamic( - [s], - field(s, ^:"name#{count}") == "" - ) - - true -> - dynamic( - [s], - field(s, ^:"name#{count}") == ^step.name and - field(s, ^:"pathname#{count}") == ^step.pathname - ) - end - end - - defp wildcard_pattern(pathname) when is_binary(pathname) do - escaped = Regex.escape(pathname) - - "^#{escaped}(/.*)?$" - end - - defp maybe_search(query, search_term) do - case String.trim(search_term) do - term when byte_size(term) > 2 -> - from(s in query, - where: - ilike(selected_as(:label), ^"%#{term}%") or - ilike(s.pathname, ^"%#{term}%") or - (s.name != "pageview" and ilike(s.name, ^"%#{term}%")) - ) - - _ -> - query - end - end - - defp to_funnel([result], journey) do - journey - |> Enum.with_index() - |> Enum.reduce(%{funnel: [], visitors_at_previous: nil, total_visitors: nil}, fn {step, idx}, - acc -> - step = Journey.Step.from(step) - current_visitors = Map.get(result, idx + 1, 0) - total_visitors = acc.total_visitors || current_visitors - - dropoff = - if acc.visitors_at_previous, do: acc.visitors_at_previous - current_visitors, else: 0 - - dropoff_percentage = percentage(dropoff, acc.visitors_at_previous) - conversion_rate = percentage(current_visitors, total_visitors) - conversion_rate_step = percentage(current_visitors, acc.visitors_at_previous) - - funnel = [ - %{ - step: step, - visitors: current_visitors, - dropoff: dropoff, - dropoff_percentage: dropoff_percentage, - conversion_rate: conversion_rate, - conversion_rate_step: conversion_rate_step - } - | acc.funnel - ] - - %{ - acc - | funnel: funnel, - visitors_at_previous: current_visitors, - total_visitors: total_visitors - } - end) - |> Map.fetch!(:funnel) - |> Enum.reverse() - end -end diff --git a/extra/lib/plausible/stats/funnel.ex b/extra/lib/plausible/stats/funnel.ex deleted file mode 100644 index 39cdd3d7852e32ead291137ce169a5caae0d0c05..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/stats/funnel.ex +++ /dev/null @@ -1,171 +0,0 @@ -defmodule Plausible.Stats.Funnel do - @moduledoc """ - Module responsible for funnel evaluation, i.e. building and executing - ClickHouse funnel query based on `Plausible.Funnel` definition. - """ - - @funnel_window_duration 86_400 - - alias Plausible.Funnel - alias Plausible.Funnels - - import Ecto.Query - import Plausible.Stats.SQL.Fragments - import Plausible.Stats.Util, only: [percentage: 2] - - alias Plausible.ClickhouseRepo - alias Plausible.Stats.{Base, Query} - - @spec funnel(Plausible.Site.t(), Plausible.Stats.Query.t(), Funnel.t() | pos_integer()) :: - {:ok, map()} | {:error, :funnel_not_found} - def funnel(site, query, funnel_id) when is_integer(funnel_id) do - case Funnels.get(site.id, funnel_id) do - %Funnel{} = funnel -> - funnel(site, query, funnel) - - nil -> - {:error, :funnel_not_found} - end - end - - def funnel(_site, query, %Funnel{} = funnel) do - goals = Enum.map(funnel.steps, & &1.goal) - - funnel_data = - query - |> Query.set(preloaded_goals: %{all: [], matching_toplevel_filters: goals}) - |> Base.base_event_query() - |> funnel_query(funnel) - # We pass the query struct to record query metadata for - # the CH debug console. - |> ClickhouseRepo.all(query: query) - - # Funnel definition steps are 1-indexed, if there's index 0 in the resulting query, - # it signifies the number of visitors that haven't entered the funnel. - not_entering_visitors = - case funnel_data do - [{0, count} | _] -> count - _ -> 0 - end - - all_visitors = Enum.reduce(funnel_data, 0, fn {_, n}, acc -> acc + n end) - steps = backfill_steps(funnel_data, funnel) - - visitors_at_first_step = List.first(steps).visitors - - {:ok, - %{ - name: funnel.name, - steps: steps, - all_visitors: all_visitors, - entering_visitors: visitors_at_first_step, - entering_visitors_percentage: percentage(visitors_at_first_step, all_visitors), - never_entering_visitors: all_visitors - visitors_at_first_step, - never_entering_visitors_percentage: percentage(not_entering_visitors, all_visitors) - }} - end - - defp funnel_query(query, funnel_definition) do - q_events = - from(e in query, - select: %{user_id: e.user_id, _sample_factor: fragment("any(_sample_factor)")}, - where: e.site_id == ^funnel_definition.site_id, - group_by: e.user_id, - order_by: [desc: fragment("step")] - ) - |> select_funnel(funnel_definition) - - from(f in subquery(q_events), - select: {f.step, total()}, - group_by: f.step - ) - end - - defp select_funnel(db_query, funnel_definition) do - window_funnel_steps = - Enum.reduce(funnel_definition.steps, nil, fn step, acc -> - goal_condition = Plausible.Stats.Goals.goal_condition(step.goal) - - if acc do - dynamic([q], fragment("?, ?", ^acc, ^goal_condition)) - else - dynamic([q], fragment("?", ^goal_condition)) - end - end) - - dynamic_window_funnel = - if funnel_definition.strict_order do - dynamic( - [q], - fragment( - "windowFunnel(?, 'strict_order')(timestamp, ?)", - @funnel_window_duration, - ^window_funnel_steps - ) - ) - else - dynamic( - [q], - fragment("windowFunnel(?)(timestamp, ?)", @funnel_window_duration, ^window_funnel_steps) - ) - end - - from(q in db_query, - select_merge: - ^%{ - step: dynamic_window_funnel - } - ) - end - - defp backfill_steps(funnel_result, funnel) do - # Directly from ClickHouse we only get {step_idx(), visitor_count()} tuples. - # but no totals including previous steps are aggregated. - # Hence we need to perform the appropriate backfill - # and also calculate dropoff and conversion rate for each step. - # In case ClickHouse returns 0-index funnel result, we're going to ignore it - # anyway, since we fold over steps as per definition, that are always - # indexed starting from 1. - funnel_result = Enum.into(funnel_result, %{}) - max_step = Enum.max_by(funnel.steps, & &1.step_order).step_order - - funnel - |> Map.fetch!(:steps) - |> Enum.reduce({nil, nil, []}, fn step, {total_visitors, visitors_at_previous, acc} -> - # first step contains the total number of all visitors qualifying for the funnel, - # with each subsequent step needing to accumulate sum of the previous one(s) - visitors_at_step = - step.step_order..max_step - |> Enum.map(&Map.get(funnel_result, &1, 0)) - |> Enum.sum() - - # accumulate current_visitors for the next iteration - current_visitors = visitors_at_step - - # First step contains the total number of visitors that we base percentage dropoff on - total_visitors = - total_visitors || - current_visitors - - # Dropoff is 0 for the first step, otherwise we subtract current from previous - dropoff = if visitors_at_previous, do: visitors_at_previous - current_visitors, else: 0 - - dropoff_percentage = percentage(dropoff, visitors_at_previous) - conversion_rate = percentage(current_visitors, total_visitors) - conversion_rate_step = percentage(current_visitors, visitors_at_previous) - - step = %{ - dropoff: dropoff, - dropoff_percentage: dropoff_percentage, - conversion_rate: conversion_rate, - conversion_rate_step: conversion_rate_step, - visitors: visitors_at_step, - label: to_string(step.goal) - } - - {total_visitors, current_visitors, [step | acc]} - end) - |> elem(2) - |> Enum.reverse() - end -end diff --git a/extra/lib/plausible/stats/goal/revenue.ex b/extra/lib/plausible/stats/goal/revenue.ex deleted file mode 100644 index 62fc6350b10e5e1abe9e74769f9bba371c2607ba..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/stats/goal/revenue.ex +++ /dev/null @@ -1,94 +0,0 @@ -defmodule Plausible.Stats.Goal.Revenue do - @moduledoc """ - Revenue specific functions for the stats scope - """ - - @revenue_metrics [:average_revenue, :total_revenue] - - def revenue_metrics() do - @revenue_metrics - end - - @doc """ - Preloads revenue currencies for a query. Used when parsing the query. - - Returns tuple containing revenue warning (if set, no revenue metrics should be calculated) and - revenue currencies map. - - Assumptions and business logic: - 1. Goals are already filtered according to query filters and dimensions - 2. If there's a single currency involved, return map containing the default - 3. If there's a breakdown by event:goal we return all the relevant currencies as a map - 4. If filtering by multiple different currencies without event:goal breakdown empty map is returned - 5. If user has no access or preloading is not needed, empty map is returned - - The resulting data structure is attached to a `Query` and used below in `format_revenue_metric/3`. - """ - def preload(site, preloaded_goals, metrics, dimensions) do - cond do - not requested?(metrics) -> {nil, %{}} - not available?(site) -> {:revenue_goals_unavailable, %{}} - true -> preload(preloaded_goals.matching_toplevel_filters, dimensions) - end - end - - defp preload(goals, dimensions) do - goal_currency_map = - goals - |> Map.new(fn goal -> {Plausible.Goal.display_name(goal), goal.currency} end) - |> Map.reject(fn {_goal, currency} -> is_nil(currency) end) - - currencies = goal_currency_map |> Map.values() |> Enum.uniq() - goal_dimension? = "event:goal" in dimensions - - case {currencies, goal_dimension?} do - {[currency], false} -> {nil, %{default: currency}} - {[], _} -> {:no_revenue_goals_matching, %{}} - {_, true} -> {nil, goal_currency_map} - _ -> {:no_single_revenue_currency, %{}} - end - end - - def format_revenue_metric(_, query, _) when not is_nil(query.revenue_warning), do: nil - - def format_revenue_metric(value, query, dimension_values) do - currency = - query.revenue_currencies[:default] || - get_goal_dimension_revenue_currency(query, dimension_values) - - format_revenue_metric(value, currency) - end - - def format_revenue_metric(value, currency) do - if currency do - money = Money.new!(value || 0, currency) - - %{ - short: Money.to_string!(money, format: :short, fractional_digits: 1), - long: Money.to_string!(money), - value: Decimal.to_float(money.amount), - currency: currency - } - else - value - end - end - - def available?(site) do - site = Plausible.Repo.preload(site, :team) - Plausible.Billing.Feature.RevenueGoals.check_availability(site.team) == :ok - end - - # :NOTE: Legacy queries don't have metrics associated with them so work around the issue by assuming - # revenue metric was requested. - def requested?([]), do: true - def requested?(metrics), do: Enum.any?(metrics, &(&1 in @revenue_metrics)) - - defp get_goal_dimension_revenue_currency(query, dimension_values) do - Enum.zip(query.dimensions, dimension_values) - |> Enum.find_value(fn - {"event:goal", goal_label} -> Map.get(query.revenue_currencies, goal_label) - _ -> nil - end) - end -end diff --git a/extra/lib/plausible/stats/journey/step.ex b/extra/lib/plausible/stats/journey/step.ex deleted file mode 100644 index 0b205ea401dda59061ee455be06a3794b9e16607..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/stats/journey/step.ex +++ /dev/null @@ -1,53 +0,0 @@ -defmodule Plausible.Stats.Exploration.Journey.Step do - @moduledoc false - - @type t() :: %__MODULE__{} - - @derive {Jason.Encoder, - only: [:name, :pathname, :label, :includes_subpaths, :subpaths_count, :is_goal]} - defstruct name: nil, - pathname: "", - label: nil, - includes_subpaths: false, - subpaths_count: 0, - is_goal: false - - @journey_end_event "__journey_end__" - @journey_end_label "No further action" - - @spec journey_end_event() :: String.t() - def journey_end_event, do: @journey_end_event - - @spec journey_end_label() :: String.t() - def journey_end_label, do: @journey_end_label - - @spec from(map()) :: t() - def from(step) do - new(step.name, step.pathname, step.includes_subpaths, step.subpaths_count, step.is_goal) - end - - @spec new(String.t(), String.t(), boolean(), non_neg_integer(), boolean()) :: t() - def new(name, pathname, includes_subpaths \\ false, subpaths_count \\ 0, is_goal \\ false) - when is_boolean(includes_subpaths) and is_integer(subpaths_count) do - label = - cond do - name == @journey_end_event -> - @journey_end_label - - name != "pageview" -> - name - - true -> - pathname - end - - %__MODULE__{ - label: label, - name: name, - pathname: pathname, - includes_subpaths: includes_subpaths, - subpaths_count: subpaths_count, - is_goal: is_goal - } - end -end diff --git a/extra/lib/plausible/stats/sampling.ex b/extra/lib/plausible/stats/sampling.ex deleted file mode 100644 index a1172281d7e0c266729e1cb464b984b2f2c69902..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/stats/sampling.ex +++ /dev/null @@ -1,105 +0,0 @@ -defmodule Plausible.Stats.Sampling do - @moduledoc """ - Sampling related functions - """ - @default_sample_threshold 10_000_000 - - import Ecto.Query - - alias Plausible.Stats.{Query, SamplingCache} - - def default_sample_threshold(), do: @default_sample_threshold - - @spec add_query_hint(Ecto.Query.t(), Plausible.Stats.Query.t()) :: Ecto.Query.t() - def add_query_hint(%Ecto.Query{} = db_query, %Plausible.Stats.Query{} = query) do - case query.sample_threshold do - :no_sampling -> - db_query - - nil -> - db_query - - threshold -> - add_query_hint(db_query, threshold) - end - end - - @spec add_query_hint(Ecto.Query.t(), pos_integer() | float()) :: Ecto.Query.t() - def add_query_hint(%Ecto.Query{} = query, threshold) when is_number(threshold) do - from(x in query, hints: unsafe_fragment(^"SAMPLE #{threshold}")) - end - - @spec add_query_hint(Ecto.Query.t()) :: Ecto.Query.t() - def add_query_hint(%Ecto.Query{} = query) do - add_query_hint(query, @default_sample_threshold) - end - - @spec put_threshold(Plausible.Stats.Query.t(), Plausible.Site.t(), map()) :: - Plausible.Stats.Query.t() - def put_threshold(query, site, params) do - sample_threshold = - case params["sample_threshold"] do - nil -> - decide_sample_rate(site, query) - - "infinite" -> - :no_sampling - - value_string -> - {value, _} = Float.parse(value_string) - value - end - - Map.put(query, :sample_threshold, sample_threshold) - end - - defp decide_sample_rate(site, query) do - if Plausible.Sites.consolidated?(site) and not Enum.empty?(query.consolidated_site_ids) do - query.consolidated_site_ids - |> SamplingCache.consolidated_get() - |> fractional_sample_rate(query) - else - site.id - |> SamplingCache.get() - |> fractional_sample_rate(query) - end - end - - def fractional_sample_rate(nil = _traffic_30_day, _query), - do: :no_sampling - - def fractional_sample_rate(traffic_30_day, query) do - date_range = Query.date_range(query) - duration = Date.diff(date_range.last, date_range.first) - - estimated_traffic = estimate_traffic(traffic_30_day, duration, query) - - fraction = - if(estimated_traffic > 0, - do: Float.round(@default_sample_threshold / estimated_traffic, 2), - else: 1.0 - ) - - cond do - # Don't sample small time ranges - duration < 1 -> :no_sampling - # If sampling doesn't have a significant effect, don't sample - fraction > 0.4 -> :no_sampling - true -> max(fraction, min_sample_rate()) - end - end - - defp min_sample_rate(), do: 0.013 - - defp estimate_traffic(traffic_30_day, duration, query) do - duration_adjusted_traffic = traffic_30_day / 30.0 * duration - - estimate_by_filters(duration_adjusted_traffic, query.filters) - end - - @filter_traffic_multiplier 1 / 4.0 - @max_filters 2 - - defp estimate_by_filters(estimation, filters), - do: estimation * @filter_traffic_multiplier ** min(length(filters), @max_filters) -end diff --git a/extra/lib/plausible/stats/sampling_cache.ex b/extra/lib/plausible/stats/sampling_cache.ex deleted file mode 100644 index 98fea262d236fd931c3a2f524cd62802f65d7d7b..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/stats/sampling_cache.ex +++ /dev/null @@ -1,59 +0,0 @@ -defmodule Plausible.Stats.SamplingCache do - @moduledoc """ - Cache storing estimation for events ingested by a site in the past month. - - Used for sampling rate calculations in Plausible.Stats.Sampling. - """ - alias Plausible.Ingestion - - import Ecto.Query - use Plausible.Cache - - @cache_name :stats_sampling_cache - - @impl true - def name(), do: @cache_name - - @impl true - def child_id(), do: :cache_stats_sampling - - @impl true - def repo(), do: Plausible.ClickhouseRepo - - @impl true - def count_all() do - base_db_query() - |> repo().all() - |> length() - end - - @impl true - def base_db_query() do - from(r in Ingestion.Counters.Record, - select: { - r.site_id, - selected_as(fragment("sumIf(value, metric = 'buffered')"), :events_ingested) - }, - where: fragment("toDate(event_timebucket) >= ?", ^thirty_days_ago()), - group_by: r.site_id - ) - end - - @impl true - def get_from_source(site_id) do - base_db_query() - |> repo().all() - |> Map.new() - |> Map.get(site_id) - end - - @spec consolidated_get(list(pos_integer()), Keyword.t()) :: pos_integer() | nil - def consolidated_get(site_ids, opts \\ []) when is_list(site_ids) do - events_ingested = Enum.sum_by(site_ids, &(get(&1, opts) || 0)) - if events_ingested > 0, do: events_ingested - end - - defp thirty_days_ago() do - Date.shift(Date.utc_today(), day: -30) - end -end diff --git a/extra/lib/plausible/workers/score_trial_prospects.ex b/extra/lib/plausible/workers/score_trial_prospects.ex deleted file mode 100644 index ca2ef831ca7ecb5e502a06c53a079e09ec11c719..0000000000000000000000000000000000000000 --- a/extra/lib/plausible/workers/score_trial_prospects.ex +++ /dev/null @@ -1,101 +0,0 @@ -defmodule Plausible.Workers.ScoreTrialProspects do - @moduledoc """ - Daily worker that scores the revenue potential of every team on (or just off) - a trial and caches the result in the `trial_prospects` table. - """ - use Plausible.Repo - - use Oban.Worker, - queue: :score_trial_prospects, - max_attempts: 1 - - require Logger - - alias Plausible.Teams - alias Plausible.CustomerSupport.{TrialProspect, TrialProspects} - - @max_expired_days 30 - - @impl Oban.Worker - def perform(_job) do - Date.utc_today() - |> trial_population() - |> Enum.each(&score_and_persist/1) - - :ok - end - - defp score_and_persist(team) do - try do - team - |> score_team() - |> upsert() - rescue - error -> - Logger.error( - "ScoreTrialProspects: skipping team #{team.id}: " <> - Exception.format(:error, error, __STACKTRACE__) - ) - end - end - - defp trial_population(today) do - cutoff = Date.add(today, -@max_expired_days) - - Repo.all( - from t in Teams.Team, - left_join: s in assoc(t, :subscription), - where: not is_nil(t.trial_expiry_date), - where: is_nil(s.id), - where: t.trial_expiry_date >= ^cutoff - ) - end - - defp score_team(team) do - site_ids = Teams.owned_sites_ids(team) - - traffic = Plausible.Stats.Clickhouse.trial_traffic(site_ids) - - case traffic do - %{events_in_window: 0} -> nil - traffic -> build_row(team, traffic, site_ids) - end - end - - defp build_row(team, traffic, site_ids) do - score = - TrialProspects.score( - traffic.estimated_monthly, - Teams.Billing.features_usage(team, site_ids), - length(site_ids), - Teams.Billing.team_member_usage(team) - ) - - now = DateTime.utc_now(:second) - naive_now = DateTime.to_naive(now) - - %{ - team_id: team.id, - estimated_monthly: traffic.estimated_monthly, - observed_days: traffic.observed_days, - first_data_day: traffic.first_data_day, - kind: score.kind, - forced_by: score.forced_by, - pageview_limit: score.pageview_limit, - over_top_tier: score.over_top_tier, - estimated_mrr: score.estimated_mrr, - computed_at: now, - inserted_at: naive_now, - updated_at: naive_now - } - end - - defp upsert(nil), do: :ok - - defp upsert(row) do - Repo.insert_all(TrialProspect, [row], - on_conflict: {:replace_all_except, [:id, :team_id, :inserted_at]}, - conflict_target: :team_id - ) - end -end diff --git a/extra/lib/plausible_web/controllers/api/external_sites_controller.ex b/extra/lib/plausible_web/controllers/api/external_sites_controller.ex deleted file mode 100644 index 706121a06bdfc8287cebad709bf3e3ab3d37adf7..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/controllers/api/external_sites_controller.ex +++ /dev/null @@ -1,626 +0,0 @@ -defmodule PlausibleWeb.Api.ExternalSitesController do - use PlausibleWeb, :controller - use Plausible.Repo - use PlausibleWeb.Plugs.ErrorHandler - - import Plausible.Pagination - - alias Plausible.Sites - alias Plausible.Goal - alias Plausible.Goals - alias Plausible.Props - alias Plausible.Teams - alias PlausibleWeb.Api.Helpers, as: H - - @pagination_opts [cursor_fields: [{:id, :desc}], limit: 100, maximum_limit: 1000] - - def index(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team || Teams.get(params["team_id"]) - - page = - user - |> Sites.for_user_query(team) - |> paginate(params, @pagination_opts) - - json(conn, %{ - sites: page.entries |> Enum.map(&get_site_response_for_index/1), - meta: pagination_meta(page.metadata) - }) - end - - def guests_index(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor, :viewer]) do - opts = [cursor_fields: [sort_index: :asc], limit: 100, maximum_limit: 1000] - page = site |> Sites.list_guests_query() |> paginate(params, opts) - - json(conn, %{ - guests: - Enum.map(page.entries, fn entry -> - Map.take(entry, [:email, :role, :status]) - end), - meta: pagination_meta(page.metadata) - }) - else - {:missing, "site_id"} -> - H.bad_request(conn, "Parameter `site_id` is required to list goals") - - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - end - end - - def teams_index(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - page = - user - |> Teams.Users.teams_query(identifier: team && team.identifier, order_by: :id_desc) - |> paginate(params, @pagination_opts) - - json(conn, %{ - teams: - Enum.map(page.entries, fn team -> - api_available? = - Plausible.Billing.Feature.StatsAPI.check_availability(team) == :ok - - %{ - id: team.identifier, - name: Teams.name(team), - api_available: api_available? - } - end), - meta: pagination_meta(page.metadata) - }) - end - - def goals_index(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor, :viewer]) do - page = - site - |> Plausible.Goals.for_site_query() - |> paginate(params, @pagination_opts) - - json(conn, %{ - goals: - Enum.map(page.entries, fn goal -> - %{ - id: goal.id, - display_name: goal.display_name, - goal_type: Goal.type(goal), - event_name: goal.event_name, - page_path: goal.page_path, - custom_props: goal.custom_props - } - end), - meta: pagination_meta(page.metadata) - }) - else - {:missing, "site_id"} -> - H.bad_request(conn, "Parameter `site_id` is required to list goals") - - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - end - end - - def create_site(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team || Teams.get(params["team_id"]) - - case Repo.transact(fn -> - with {:ok, %{site: site}} <- Sites.create(user, params, team), - {:ok, tracker_script_configuration} <- - get_or_create_config(site, params["tracker_script_configuration"] || %{}) do - {:ok, - struct(site, - tracker_script_configuration: tracker_script_configuration - )} - else - # Translates Multi error format to Repo.transact error format - {:error, step_id, output, context} -> - {:error, {step_id, output, context}} - - # already in Repo.transact error format - {:error, reason} -> - {:error, reason} - end - end) do - {:ok, site} -> - json(conn, get_site_response(site)) - - {:error, {_, {:over_limit, limit}, _}} -> - conn - |> put_status(402) - |> json(%{ - error: - "Your account has reached the limit of #{limit} sites. To unlock more sites, please upgrade your subscription." - }) - - {:error, {_, :permission_denied, _}} -> - conn - |> put_status(403) - |> json(%{ - error: "You can't add sites to the selected team." - }) - - {:error, {_, :multiple_teams, _}} -> - conn - |> put_status(400) - |> json(%{ - error: "You must select a team with 'team_id' parameter." - }) - - {:error, {:tracker_script_configuration_invalid, %Ecto.Changeset{} = changeset}} -> - conn - |> put_status(400) - |> json(serialize_errors(changeset, "tracker_script_configuration.")) - - {:error, {_, %Ecto.Changeset{} = changeset, _}} -> - conn - |> put_status(400) - |> json(serialize_errors(changeset)) - end - end - - def get_site(conn, %{"site_id" => site_id}) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor, :viewer]), - {:ok, tracker_script_configuration} <- get_or_create_config(site, %{}) do - site = struct(site, tracker_script_configuration: tracker_script_configuration) - - json(conn, get_site_response(site)) - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - end - end - - def delete_site(conn, %{"site_id" => site_id}) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - case find_site(user, team, site_id, [:owner]) do - {:ok, site} -> - {:ok, _} = Plausible.Site.Removal.run(site) - json(conn, %{"deleted" => true}) - - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - end - end - - def update_site(conn, %{"site_id" => site_id} = params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, params} <- validate_update_payload(params), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor]), - {:ok, site} <- do_update_site(site, params) do - json(conn, get_site_response(site)) - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - - {:error, :no_changes} -> - H.bad_request( - conn, - "Payload must contain at least one of the parameters 'domain', 'tracker_script_configuration'" - ) - - {:error, {:domain_change_invalid, %Ecto.Changeset{} = changeset}} -> - conn - |> put_status(400) - |> json(serialize_errors(changeset)) - - {:error, {:tracker_script_configuration_invalid, %Ecto.Changeset{} = changeset}} -> - conn - |> put_status(400) - |> json(serialize_errors(changeset, "tracker_script_configuration.")) - end - end - - defp validate_update_payload(params) do - params = params |> Map.take(["domain", "tracker_script_configuration"]) |> Map.drop([nil]) - - if map_size(params) == 0 do - {:error, :no_changes} - else - {:ok, params} - end - end - - defp do_update_site(site, params) do - Repo.transact(fn -> - with {:ok, site} <- - if(params["domain"], - do: change_domain(site, params["domain"]), - else: {:ok, site} - ), - {:ok, tracker_script_configuration} <- - if(params["tracker_script_configuration"], - do: update_config(site, params["tracker_script_configuration"]), - else: get_or_create_config(site, %{}) - ) do - {:ok, struct(site, tracker_script_configuration: tracker_script_configuration)} - end - end) - end - - defp change_domain(site, domain) do - case Plausible.Site.Domain.change(site, domain) do - {:ok, site} -> - {:ok, site} - - {:error, %Ecto.Changeset{} = changeset} -> - {:error, {:domain_change_invalid, changeset}} - end - end - - def find_or_create_guest(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, email} <- expect_param_key(params, "email"), - {:ok, role} <- expect_param_key(params, "role", ["viewer", "editor"]), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin]) do - existing = Repo.one(Sites.list_guests_query(site, email: email)) - - if existing do - json(conn, %{ - role: existing.role, - email: existing.email, - status: existing.status - }) - else - case Teams.Invitations.InviteToSite.invite( - site, - conn.assigns.current_user, - email, - role - ) do - {:ok, invitation} -> - json(conn, %{ - role: invitation.role, - email: invitation.team_invitation.email, - status: "invited" - }) - end - end - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - - {:missing, "role"} -> - H.bad_request( - conn, - "Parameter `role` is required to create guest. Possible values: `viewer` or `editor`" - ) - - {:missing, param} -> - H.bad_request(conn, "Parameter `#{param}` is required to create guest") - end - end - - def delete_guest(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, email} <- expect_param_key(params, "email"), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin]) do - existing = Repo.one(Sites.list_guests_query(site, email: email)) - - case existing do - %{status: "invited", id: id} -> - with guest_invitation when not is_nil(guest_invitation) <- - Repo.get(Teams.GuestInvitation, id) do - Teams.Invitations.remove_guest_invitation(guest_invitation) - end - - %{status: "accepted", email: email} -> - with %{} = user <- Repo.get_by(Plausible.Auth.User, email: email) do - Teams.Memberships.remove(site, user) - end - - _ -> - :ignore - end - - json(conn, %{"deleted" => true}) - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - - {:missing, param} -> - H.bad_request(conn, "Parameter `#{param}` is required to delete a guest") - end - end - - def find_or_create_shared_link(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, link_name} <- expect_param_key(params, "name"), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor]) do - shared_link = Repo.get_by(Plausible.Site.SharedLink, site_id: site.id, name: link_name) - - shared_link = - case shared_link do - nil -> Sites.create_shared_link(site, link_name) - link -> {:ok, link} - end - - case shared_link do - {:ok, link} -> - json(conn, %{ - name: link.name, - url: Sites.shared_link_url(site, link) - }) - - {:error, %Ecto.Changeset{} = changeset} -> - {msg, _} = changeset.errors[:name] - H.bad_request(conn, msg) - - {:error, :upgrade_required} -> - H.payment_required(conn, "Your current subscription plan does not include Shared Links") - end - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - - {:missing, "site_id"} -> - H.bad_request(conn, "Parameter `site_id` is required to create a shared link") - - {:missing, "name"} -> - H.bad_request(conn, "Parameter `name` is required to create a shared link") - - e -> - H.bad_request(conn, "Something went wrong: #{inspect(e)}") - end - end - - def find_or_create_goal(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, _} <- expect_param_key(params, "goal_type"), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor]), - {:ok, goal} <- Goals.find_or_create(site, params) do - json(conn, goal) - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - - {:missing, param} -> - H.bad_request(conn, "Parameter `#{param}` is required to create a goal") - - {:error, %Ecto.Changeset{} = changeset} -> - message = Enum.map_join(changeset.errors, ", ", &translate_error/1) - - H.bad_request(conn, message) - - {:error, :upgrade_required} -> - H.payment_required( - conn, - "Your current subscription plan does not include Custom Properties" - ) - - e -> - H.bad_request(conn, "Something went wrong: #{inspect(e)}") - end - end - - def delete_goal(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, goal_id} <- expect_param_key(params, "goal_id"), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor]), - :ok <- Goals.delete(goal_id, site) do - json(conn, %{"deleted" => true}) - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - - {:error, :not_found} -> - H.not_found(conn, "Goal could not be found") - - {:missing, "site_id"} -> - H.bad_request(conn, "Parameter `site_id` is required to delete a goal") - - {:missing, "goal_id"} -> - H.bad_request(conn, "Parameter `goal_id` is required to delete a goal") - - e -> - H.bad_request(conn, "Something went wrong: #{inspect(e)}") - end - end - - def custom_props_index(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor, :viewer]) do - properties = - (site.allowed_event_props || []) - |> Enum.sort() - |> Enum.map(fn prop -> %{property: prop} end) - - json(conn, %{custom_properties: properties}) - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - - {:missing, "site_id"} -> - H.bad_request(conn, "Parameter `site_id` is required to list custom properties") - end - end - - def add_custom_prop(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, property} <- expect_param_key(params, "property"), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor]), - {:ok, _} <- Props.allow(site, property) do - json(conn, %{"created" => true}) - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - - {:missing, param} -> - H.bad_request(conn, "Parameter `#{param}` is required to create a custom property") - - {:error, :upgrade_required} -> - H.payment_required( - conn, - "Your current subscription plan does not include Custom Properties" - ) - - {:error, changeset} -> - %{allowed_event_props: [error | _]} = - Ecto.Changeset.traverse_errors(changeset, fn {_msg, opts} -> - cond do - opts[:type] == :list and opts[:validation] == :length -> - "Can't add any more custom properties" - - opts[:type] == :string and opts[:validation] == :length -> - "Parameter `property` is too long" - - true -> - "Parameter `property` is invalid" - end - end) - - H.bad_request(conn, error) - end - end - - def delete_custom_prop(conn, params) do - user = conn.assigns.current_user - team = conn.assigns.current_team - - with {:ok, site_id} <- expect_param_key(params, "site_id"), - {:ok, property} <- expect_param_key(params, "property"), - # Property name is extracted from route URL via wildcard, - # which returns a list. - property = Path.join(property), - {:ok, site} <- find_site(user, team, site_id, [:owner, :admin, :editor]), - {:ok, _} <- Props.disallow(site, property) do - json(conn, %{"deleted" => true}) - else - {:error, :site_not_found} -> - H.not_found(conn, "Site could not be found") - - {:missing, param} -> - H.bad_request(conn, "Parameter `#{param}` is required to delete a custom property") - - e -> - H.bad_request(conn, "Something went wrong: #{inspect(e)}") - end - end - - defp pagination_meta(meta) do - %{ - after: meta.after, - before: meta.before, - limit: meta.limit - } - end - - defp find_site(user, team, site_id, roles) do - case Plausible.Sites.get_for_user(user, site_id, roles: roles) do - nil -> - {:error, :site_not_found} - - site -> - site = Repo.preload(site, :team) - - if team && team.id != site.team_id do - {:error, :site_not_found} - else - {:ok, site} - end - end - end - - defp serialize_errors(changeset, field_prefix \\ "") do - {field, {msg, _opts}} = List.first(changeset.errors) - error_msg = field_prefix <> Atom.to_string(field) <> ": " <> msg - %{"error" => error_msg} - end - - defp expect_param_key(params, key, inclusion \\ []) - - defp expect_param_key(params, key, []) do - case Map.fetch(params, key) do - :error -> {:missing, key} - res -> res - end - end - - defp expect_param_key(params, key, inclusion) do - case expect_param_key(params, key, []) do - {:ok, value} = ok -> - if value in inclusion, do: ok, else: {:missing, key} - - _ -> - {:missing, key} - end - end - - defp get_or_create_config(site, params) do - case PlausibleWeb.Tracker.get_or_create_tracker_script_configuration(site, params) do - {:ok, tracker_script_configuration} -> - {:ok, tracker_script_configuration} - - {:error, %Ecto.Changeset{} = changeset} -> - {:error, {:tracker_script_configuration_invalid, changeset}} - end - end - - defp update_config(site, params) do - case PlausibleWeb.Tracker.update_script_configuration(site, params, :installation) do - {:ok, tracker_script_configuration} -> - {:ok, tracker_script_configuration} - - {:error, %Ecto.Changeset{} = changeset} -> - {:error, {:tracker_script_configuration_invalid, changeset}} - end - end - - defp get_site_response_for_index(site) do - site |> Map.take([:domain, :timezone]) - end - - defp get_site_response(site) do - site - |> Map.take([:domain, :timezone, :tracker_script_configuration]) - # remap to `custom_properties` - |> Map.put(:custom_properties, site.allowed_event_props || []) - end - - defp translate_error({field, {msg, opts}}) do - Enum.reduce(opts, "#{field}: #{msg}", fn {key, value}, acc -> - String.replace(acc, "%{#{key}}", fn _ -> to_string(value) end) - end) - end -end diff --git a/extra/lib/plausible_web/controllers/api/revenue.ex b/extra/lib/plausible_web/controllers/api/revenue.ex deleted file mode 100644 index 1ed7455085dbcdf9212e1cf17191b4e4a4bba115..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/controllers/api/revenue.ex +++ /dev/null @@ -1,27 +0,0 @@ -defmodule PlausibleWeb.Controllers.API.Revenue do - @moduledoc """ - Revenue specific functions for the API scope - """ - - @revenue_metrics Plausible.Stats.Goal.Revenue.revenue_metrics() - def format_revenue_metric({metric, value}) do - if metric in @revenue_metrics do - {metric, format_money(value)} - else - {metric, value} - end - end - - def format_money(value) do - case value do - %Money{} -> - %{ - short: Money.to_string!(value, format: :short, fractional_digits: 1), - long: Money.to_string!(value) - } - - _any -> - value - end - end -end diff --git a/extra/lib/plausible_web/controllers/help_scout_controller.ex b/extra/lib/plausible_web/controllers/help_scout_controller.ex deleted file mode 100644 index 92c61297912a95904dfc61b295a8255f97eed0a0..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/controllers/help_scout_controller.ex +++ /dev/null @@ -1,121 +0,0 @@ -defmodule PlausibleWeb.HelpScoutController do - use PlausibleWeb, :controller - - alias Plausible.HelpScout - - @conversation_token_seconds 8 * 60 * 60 - - plug :make_iframe_friendly - - def callback(conn, %{"customer-id" => customer_id, "conversation-id" => conversation_id}) do - assigns = %{conversation_id: conversation_id, customer_id: customer_id, token: ""} - - with :ok <- HelpScout.validate_signature(conn), - {:ok, details} <- HelpScout.get_details_for_customer(customer_id, conversation_id) do - assigns = Map.put(assigns, :token, sign_token(conversation_id)) - - conn - |> render("callback.html", Map.merge(assigns, details)) - else - {:error, {:user_not_found, [email | _]}} -> - conn - |> render("callback.html", Map.merge(assigns, %{error: ":user_not_found", email: email})) - - {:error, error} -> - conn - |> render("callback.html", Map.put(assigns, :error, inspect(error))) - end - end - - def callback(conn, _) do - render(conn, "bad_request.html") - end - - def show( - conn, - %{ - "email" => email, - "token" => token, - "conversation_id" => conversation_id, - "customer_id" => customer_id - } = - params - ) do - assigns = %{ - xhr?: params["xhr"] == "true", - conversation_id: conversation_id, - customer_id: customer_id, - token: token - } - - with :ok <- match_conversation(token, conversation_id), - {:ok, details} <- - HelpScout.get_details_for_emails( - [email], - customer_id, - conversation_id, - params["team_identifier"] - ) do - render(conn, "callback.html", Map.merge(assigns, details)) - else - {:error, error} -> - render(conn, "callback.html", Map.put(assigns, :error, inspect(error))) - end - end - - def search(conn, %{ - "term" => term, - "token" => token, - "conversation_id" => conversation_id, - "customer_id" => customer_id - }) do - assigns = %{ - conversation_id: conversation_id, - customer_id: customer_id, - token: token - } - - case match_conversation(token, conversation_id) do - :ok -> - users = HelpScout.search_users(term, customer_id, conversation_id) - render(conn, "search.html", Map.merge(assigns, %{users: users, term: term})) - - {:error, error} -> - render(conn, "search.html", Map.put(assigns, :error, inspect(error))) - end - end - - defp match_conversation(token, conversation_id) do - case verify_token(token) do - {:ok, token_data} -> - if token_data.conversation_id == conversation_id do - :ok - else - {:error, :invalid_conversation} - end - - {:error, _error} -> - {:error, :invalid_token} - end - end - - # Exposed for testing - @doc false - def sign_token(conversation_id) do - Phoenix.Token.sign(PlausibleWeb.Endpoint, "hs-conversation", %{ - conversation_id: conversation_id - }) - end - - defp verify_token(token) do - Phoenix.Token.verify(PlausibleWeb.Endpoint, "hs-conversation", token, - max_age: @conversation_token_seconds - ) - end - - defp make_iframe_friendly(conn, _opts) do - conn - |> delete_resp_header("x-frame-options") - |> put_root_layout(html: {PlausibleWeb.HelpScoutView, :layout}) - end -end diff --git a/extra/lib/plausible_web/controllers/sso_controller.ex b/extra/lib/plausible_web/controllers/sso_controller.ex deleted file mode 100644 index 4c221cbf362add69244b3cb576fe24264fa7477a..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/controllers/sso_controller.ex +++ /dev/null @@ -1,140 +0,0 @@ -defmodule PlausibleWeb.SSOController do - use PlausibleWeb, :controller - - require Logger - - alias Plausible.Auth - alias Plausible.Auth.SSO - alias PlausibleWeb.LoginPreference - - alias PlausibleWeb.Router.Helpers, as: Routes - - plug Plausible.Plugs.AuthorizeTeamAccess, - [:owner] when action in [:sso_settings] - - plug Plausible.Plugs.AuthorizeTeamAccess, - [:owner, :admin] when action in [:team_sessions, :delete_session] - - def login_form(conn, params) do - login_preference = LoginPreference.get(conn) - error = Phoenix.Flash.get(conn.assigns.flash, :login_error) - - case {login_preference, params["prefer"], error} do - {nil, nil, nil} -> - redirect(conn, to: Routes.auth_path(conn, :login_form, return_to: params["return_to"])) - - _ -> - render_auth_page(conn, "login_form.html", - autosubmit: params["autosubmit"] != nil, - heading: "Sign in with SSO" - ) - end - end - - def login(conn, %{"email" => email} = params) do - with :ok <- Auth.rate_limit(:login_ip, conn), - {:ok, %{sso_integration: integration}} <- SSO.Domains.lookup(email) do - redirect(conn, - to: - Routes.sso_path( - conn, - :saml_signin, - integration.identifier, - email: email, - return_to: params["return_to"] - ) - ) - else - {:error, :not_found} -> - conn - |> put_flash( - :login_error, - "We couldn't find a Single Sign-On account for that email." - ) - |> redirect(to: Routes.sso_path(conn, :login_form)) - - {:error, {:rate_limit, _}} -> - Auth.log_failed_login_attempt("too many login attempts for #{email}") - - render_error( - conn, - 429, - "Too many login attempts. Wait a minute before trying again." - ) - end - end - - def provision_notice(conn, _params) do - render_auth_page(conn, "provision_notice.html", heading: "Single Sign-On required") - end - - def provision_issue(conn, params) do - issue = - case params["issue"] do - "not_a_member" -> :not_a_member - "multiple_memberships" -> :multiple_memberships - "multiple_memberships_noforce" -> :multiple_memberships_noforce - "active_personal_team" -> :active_personal_team - "active_personal_team_noforce" -> :active_personal_team_noforce - _ -> :unknown - end - - render_auth_page(conn, "provision_issue.html", - heading: "Single Sign-On required", - issue: issue - ) - end - - def saml_signin(conn, params) do - saml_adapter().signin(conn, params) - end - - def saml_consume(conn, params) do - saml_adapter().consume(conn, params) - end - - def csp_report(conn, _params) do - {:ok, body, conn} = Plug.Conn.read_body(conn) - Logger.error(body) - conn |> send_resp(200, "OK") - end - - def cta(conn, _params) do - render(conn, :cta, layout: {PlausibleWeb.LayoutView, :settings}) - end - - def sso_settings(conn, _params) do - if Plausible.Teams.setup?(conn.assigns.current_team) and - Plausible.Billing.Feature.SSO.check_availability(conn.assigns.current_team) == :ok do - render(conn, :sso_settings, - layout: {PlausibleWeb.LayoutView, :settings}, - connect_live_socket: true - ) - else - conn - |> redirect(to: Routes.site_path(conn, :index)) - end - end - - def team_sessions(conn, _params) do - sso_sessions = Auth.UserSessions.list_sso_for_team(conn.assigns.current_team) - - render(conn, :team_sessions, - layout: {PlausibleWeb.LayoutView, :settings}, - sso_sessions: sso_sessions - ) - end - - def delete_session(conn, %{"session_id" => session_id}) do - current_team = conn.assigns.current_team - Auth.UserSessions.revoke_sso_by_id(current_team, session_id) - - conn - |> put_flash(:success, "Session logged out successfully") - |> redirect(to: Routes.sso_path(conn, :team_sessions)) - end - - defp saml_adapter() do - Application.fetch_env!(:plausible, :sso_saml_adapter) - end -end diff --git a/extra/lib/plausible_web/dogfood.ex b/extra/lib/plausible_web/dogfood.ex deleted file mode 100644 index dc1a703bccece189d9d1c56d02f837acf8b794d9..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/dogfood.ex +++ /dev/null @@ -1,96 +0,0 @@ -defmodule PlausibleWeb.Dogfood do - @moduledoc """ - Plausible tracking itself functions - """ - - def script_params(assigns) do - %{ - script_url: script_url(assigns), - domain_to_replace: domain_to_replace(assigns), - location_override: location_override(assigns), - custom_properties: custom_properties(assigns), - capture_on_localhost: Application.get_env(:plausible, :environment) == "dev" - } - end - - defp script_url(assigns) do - env = Application.get_env(:plausible, :environment) - selfhost? = Application.get_env(:plausible, :is_selfhost) - - tracker_script_config_id = - cond do - env == "prod" and selfhost? -> - "pa-V5OUguy5m04s95qHnmGbH" - - env == "prod" and assigns[:embedded] -> - "pa-Qo3A7Ksnbn-wYQWMijuR3" - - env == "prod" -> - "pa-6_srOGVV9SLMWJ1ZpUAbG" - - env == "staging" -> - "pa-egYOCIzzYzPL9v6GHLc-7" - - env in ["dev", "ce_dev"] -> - # By default we're not letting the app track itself on localhost. - # The requested script will be `.js` and the server will respond with 404. - # If you wish to track the app itself, uncomment the following code - # and replace the site_id if necessary (1 stands for dummy.site). - - # Plausible.Repo.get(Plausible.Site, 1) - # |> PlausibleWeb.Tracker.get_or_create_tracker_script_configuration!() - # |> Map.get(:id) - - "pa-invalid-script-id" - - env in ["test", "ce_test", "e2e_test"] -> - "" - end - - "#{PlausibleWeb.Endpoint.url()}/js/#{tracker_script_config_id}.js" - end - - # TRICKY: The React dashboard uses history-based SPA navigation - # which triggers pageviews on routes that the backend is unaware - # of (e.g.`/:domain/pages`). As opposed to other site paths like - # `/:domain/settings/general` we cannot override the entire URL. - # To still make sure we're not capturing customer domains we run - # a string replace in `payload.u`. - defp domain_to_replace(assigns) do - if not is_nil(assigns[:site]) and assigns[:demo] != true do - URI.encode_www_form(assigns.site.domain) - end - end - - defp location_override(%{dogfood_page_path: path}) when is_binary(path) do - Path.join(PlausibleWeb.Endpoint.url(), path) - end - - defp location_override(_), do: nil - - defp custom_properties(%{current_user: user} = assigns) when is_map(user) do - %{ - logged_in: true, - theme: user.theme, - current_plan: current_plan(assigns[:current_team]) - } - end - - defp custom_properties(_) do - %{logged_in: false} - end - - defp current_plan(%Plausible.Teams.Team{ - subscription: %Plausible.Billing.Subscription{} = subscription - }) do - case Plausible.Billing.Plans.get_subscription_plan(subscription) do - %Plausible.Billing.Plan{kind: kind} -> kind - %Plausible.Billing.EnterprisePlan{} -> :enterprise - other when is_atom(other) -> other - end - end - - defp current_plan(team) do - if Plausible.Teams.on_trial?(team), do: :trial - end -end diff --git a/extra/lib/plausible_web/live/customer_support.ex b/extra/lib/plausible_web/live/customer_support.ex deleted file mode 100644 index d5de1e0ae7cccbcf01f90831bcf2cfea3f6cc567..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support.ex +++ /dev/null @@ -1,74 +0,0 @@ -defmodule PlausibleWeb.Live.CustomerSupport do - @moduledoc """ - Customer Support home page (search) - """ - use PlausibleWeb, :live_view - - alias PlausibleWeb.CustomerSupport.Components.{Layout, Search} - - @impl true - def mount(params, _session, socket) do - uri = - Routes.customer_support_path( - PlausibleWeb.Endpoint, - :index, - Map.take(params, ["filter_text"]) - ) - |> URI.new!() - - {:ok, - assign(socket, - uri: uri, - filter_text: params["filter_text"] || "" - )} - end - - @impl true - def handle_params(params, _uri, socket) do - filter_text = params["filter_text"] || "" - socket = assign(socket, filter_text: filter_text) - - send_update(Search, id: "search-component", filter_text: filter_text) - - {:noreply, socket} - end - - @impl true - def render(assigns) do - ~H""" - <.flash_messages flash={@flash} /> - - - <.live_component module={Search} filter_text={@filter_text} id="search-component" /> - - """ - end - - @impl true - def handle_event("filter", %{"filter-text" => input}, socket) do - socket = set_filter_text(socket, input) - {:noreply, socket} - end - - def handle_event("reset-filter-text", _params, socket) do - socket = set_filter_text(socket, "") - {:noreply, socket} - end - - defp set_filter_text(socket, filter_text) do - uri = socket.assigns.uri - - uri_params = - (uri.query || "") - |> URI.decode_query() - |> Map.put("filter_text", filter_text) - |> URI.encode_query() - - uri = %{uri | query: uri_params} - - socket - |> assign(:filter_text, filter_text) - |> assign(:uri, uri) - |> push_patch(to: URI.to_string(uri), replace: true) - end -end diff --git a/extra/lib/plausible_web/live/customer_support/components/layout.ex b/extra/lib/plausible_web/live/customer_support/components/layout.ex deleted file mode 100644 index 0b5f05234a46342f5c1ca08f9f14953dcf1503a0..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/components/layout.ex +++ /dev/null @@ -1,124 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Components.Layout do - @moduledoc """ - Base layout component for Customer Support UI - Provides common header, filter bar, and content area structure - """ - use PlausibleWeb, :component - import PlausibleWeb.Live.Flash - - attr :filter_text, :string, default: "" - attr :show_search, :boolean, default: true - attr :flash, :map, default: %{} - slot :inner_block, required: true - slot :filter_actions, required: false - - def layout(assigns) do - ~H""" -
- <.help_overlay /> - -
- <.header filter_text={@filter_text} /> - -
- <.styled_link class="text-sm" onclick="window.history.go(-1); return false;"> - ← Go back - -
- - <.search_bar :if={@show_search} filter_text={@filter_text}> - {render_slot(@filter_actions)} - - - <.flash_messages flash={@flash} /> - -
- {render_slot(@inner_block)} -
- -
- <.styled_link class="text-sm" onclick="window.history.go(-1); return false;"> - ← Go back - -
-
-
- """ - end - - defp help_overlay(assigns) do - ~H""" -
-
- Prefix your searches with:

-
- site:input
-

- Search for sites exclusively. Input will be checked against site's domain, team's name, owners' names and e-mails (fuzzy match) or against tracker script ID (exact match). -

- user:input
-

- Search for users exclusively. Input will be checked against user's name and e-mail. -

- team:input
-

- Search for teams exclusively. Input will be checked against user/team name, e-mail or team identifier. Identifier must be provided complete, as is. -

- - team:input +sub -
-

- Like above, but only finds team(s) with subscription (in any status). -

- - team:input +sso -
-

- Like above, but only finds team(s) with SSO integrations (in any status). -

-
-
-
- """ - end - - attr :filter_text, :string, required: true - - defp header(assigns) do - ~H""" -
-

- <.link - replace - patch={ - Routes.customer_support_path(PlausibleWeb.Endpoint, :index, %{filter_text: @filter_text}) - } - > - 💬 Customer Support - -

-
- """ - end - - attr :filter_text, :string, required: true - slot :inner_block, required: false - - defp search_bar(assigns) do - ~H""" -
- <.filter_bar filter_text={@filter_text} placeholder="Search everything"> - - - - {render_slot(@inner_block)} - -
- """ - end -end diff --git a/extra/lib/plausible_web/live/customer_support/components/search.ex b/extra/lib/plausible_web/live/customer_support/components/search.ex deleted file mode 100644 index 53469cbc97eb7082aac89275f7af6a546ec1de28..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/components/search.ex +++ /dev/null @@ -1,125 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Components.Search do - @moduledoc """ - Dedicated search component for Customer Support - Handles search logic independently from other components - """ - use PlausibleWeb, :live_component - - alias Plausible.CustomerSupport.Resource - alias PlausibleWeb.CustomerSupport.Components.SearchResult - - @resources [Resource.Team, Resource.User, Resource.Site] - - def update(%{filter_text: filter_text} = assigns, socket) do - socket = assign(socket, assigns) - {:ok, perform_search(socket, filter_text)} - end - - def handle_event("search-updated", %{"filter_text" => filter_text}, socket) do - {:noreply, perform_search(socket, filter_text)} - end - - def render(assigns) do - ~H""" -
-
    -
  • - <.link patch={r.path} data-test-type={r.type} data-test-id={r.id}> -
    -
    - <.render_result resource={r} /> -
    -
    - -
  • -
- -
- No results found for "{@filter_text}" -
- -
- Enter a search term to find teams, users, or sites -
-
- """ - end - - def render_result(assigns) do - SearchResult.render_result(assigns) - end - - defp perform_search(socket, filter_text) do - results = spawn_searches(filter_text) - assign(socket, :results, results) - end - - defp spawn_searches(input) do - input = String.trim(input) - - {resources, input, opts} = - maybe_focus_search(input) - - resources - |> Task.async_stream(fn resource -> - input - |> resource.search(opts) - |> Enum.map(&resource.dump/1) - end) - |> Enum.reduce([], fn {:ok, results}, acc -> - acc ++ results - end) - end - - defp maybe_focus_search(lone_modifier) when lone_modifier in ["site:", "team:", "user:"] do - {[], "", limit: 0} - end - - defp maybe_focus_search("site:" <> rest) do - {[Resource.Site], rest, limit: 90} - end - - defp maybe_focus_search("team:" <> rest) do - [input | mods] = String.split(rest, "+", trim: true) - input = String.trim(input) - - opts = - if "sub" in mods do - [limit: 90, with_subscription_only?: true] - else - [limit: 90] - end - - opts = - if "sso" in mods do - Keyword.merge(opts, with_sso_only?: true) - else - opts - end - - opts = - case Ecto.UUID.cast(input) do - {:ok, _uuid} -> - Keyword.merge(opts, uuid_provided?: true) - - _ -> - opts - end - - {[Resource.Team], input, opts} - end - - defp maybe_focus_search("user:" <> rest) do - {[Resource.User], rest, limit: 90} - end - - defp maybe_focus_search(input) do - {@resources, input, limit: 30} - end -end diff --git a/extra/lib/plausible_web/live/customer_support/components/search_result.ex b/extra/lib/plausible_web/live/customer_support/components/search_result.ex deleted file mode 100644 index 5cb2c00a63bdc8373a1e53bfcfe35fa428ff3cb3..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/components/search_result.ex +++ /dev/null @@ -1,105 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Components.SearchResult do - @moduledoc """ - Component responsible for rendering search result cards for customer support resources - """ - use PlausibleWeb, :live_component - - def favicon(assigns) do - ~H""" - - """ - end - - def render_result(%{resource: %{type: "team"}} = assigns) do - ~H""" -
-
-
- T -
-

- {@resource.object.name} -

- - - Team - - - $ - -
- -
-
- Team identifier: - {@resource.object.identifier |> String.slice(0, 8)} -
- Owned by: {@resource.object.owners - |> Enum.map(& &1.name) - |> Enum.join(", ")} -
-
- """ - end - - def render_result(%{resource: %{type: "user"}} = assigns) do - ~H""" -
-
- -

- {@resource.object.name} -

- - - User - -
- -
-
- {@resource.object.name} <{@resource.object.email}>
- Owns {length(@resource.object.owned_teams)} team(s) -
-
- """ - end - - def render_result(%{resource: %{type: "site"}} = assigns) do - ~H""" -
-
- <.favicon class="w-5" domain={@resource.object.domain} /> -

- {@resource.object.domain} -

- - - Site - -
- -
-
- Part of {@resource.object.team.name} -
- owned by {@resource.object.team.owners - |> Enum.map(& &1.name) - |> Enum.join(", ")} -
-
- """ - end -end diff --git a/extra/lib/plausible_web/live/customer_support/live.ex b/extra/lib/plausible_web/live/customer_support/live.ex deleted file mode 100644 index fecf2f8b7743046c3abc3b707becff3f33eece92..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/live.ex +++ /dev/null @@ -1,133 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Live do - @moduledoc """ - Shared module providing common LiveView functionality for Customer Support. - - Provides: - - Standard mount/3 and handle_info/2 implementations - - Tab navigation components and routing utilities - - Common aliases and imports for Customer Support LiveViews - - Convenience API for flashes and redirects - """ - - defmacro __using__(_opts) do - quote do - use PlausibleWeb, :live_view - - alias Plausible.CustomerSupport.Resource - alias PlausibleWeb.CustomerSupport.Components.Layout - import PlausibleWeb.CustomerSupport.Live - import PlausibleWeb.Components.Generic - alias PlausibleWeb.Router.Helpers, as: Routes - - def mount(_params, _session, socket) do - {:ok, socket} - end - - def handle_info({:success, msg}, socket) do - {:noreply, put_flash(socket, :success, msg)} - end - - def handle_info({:error, msg}, socket) do - {:noreply, put_flash(socket, :error, msg)} - end - - def handle_info({:navigate, path, success_msg}, socket) do - socket = if success_msg, do: put_flash(socket, :success, success_msg), else: socket - {:noreply, push_navigate(socket, to: path)} - end - - def handle_params(%{"id" => _id} = params, _uri, socket) do - handle_params(Map.put(params, "tab", "overview"), nil, socket) - end - - defoverridable mount: 3, handle_info: 2, handle_params: 3 - end - end - - @spec success(String.t()) :: :ok - def success(msg) do - send(self(), {:success, msg}) - end - - @spec failure(String.t()) :: :ok - def failure(msg) do - send(self(), {:error, msg}) - end - - @spec navigate_with_success(String.t(), String.t()) :: :ok - def navigate_with_success(path, msg) do - send(self(), {:navigate, path, msg}) - end - - use Phoenix.Component - import Phoenix.LiveView - - attr :to, :string, required: true - attr :tab, :string, required: true - slot :inner_block, required: true - - def tab(assigns) do - current_class = "text-gray-900 dark:text-gray-100" - - inactive_class = - "text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200" - - assigns = - assign( - assigns, - :link_class, - if(assigns.to == assigns.tab, do: current_class, else: inactive_class) - ) - - ~H""" - <.link - patch={"?tab=#{@to}"} - class={[ - @link_class, - "group relative min-w-0 flex-1 overflow-hidden bg-white dark:bg-gray-800 py-4 px-6 text-center text-sm font-medium hover:bg-gray-50 dark:hover:bg-gray-750 focus:z-10 first:rounded-l-lg last:rounded-r-lg" - ]} - > - {render_slot(@inner_block)} - - """ - end - - attr :tab, :string, required: true - attr :extra_classes, :string, default: "" - slot :tabs, required: true - - def tab_navigation(assigns) do - ~H""" -
- -
- """ - end - - def go_to_tab(socket, tab, params, resource_key, component) do - tab_params = Map.drop(params, ["id", "tab"]) - resource = Map.get(socket.assigns, resource_key) - - update_params = [ - id: "#{resource_key}-#{resource.id}-#{tab}", - tab: tab, - tab_params: tab_params - ] - - update_params = Keyword.put(update_params, resource_key, resource) - - send_update(component, update_params) - - socket - end -end diff --git a/extra/lib/plausible_web/live/customer_support/site.ex b/extra/lib/plausible_web/live/customer_support/site.ex deleted file mode 100644 index 88d450e2bd76ed1a01570654988f4cba64d2b4bd..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/site.ex +++ /dev/null @@ -1,115 +0,0 @@ -defmodule PlausibleWeb.Live.CustomerSupport.Site do - @moduledoc """ - Site coordinator LiveView for Customer Support interface. - - Manages tab-based navigation and delegates rendering to specialized - components: Overview, People, and Rescue Zone. - """ - use PlausibleWeb.CustomerSupport.Live - - alias PlausibleWeb.CustomerSupport.Site.Components.{ - Overview, - People, - RescueZone - } - - def favicon(assigns) do - ~H""" - - """ - end - - def handle_params(%{"id" => site_id} = params, _uri, socket) do - tab = params["tab"] || "overview" - site = Resource.Site.get(site_id) - - if site do - socket = - socket - |> assign(:site, site) - |> assign(:tab, tab) - - {:noreply, go_to_tab(socket, tab, params, :site, tab_component(tab))} - else - {:noreply, redirect(socket, to: Routes.customer_support_path(socket, :index))} - end - end - - def render(assigns) do - ~H""" - - <.site_header site={@site} /> - <.site_tab_navigation site={@site} tab={@tab} /> - - <.live_component - module={tab_component(@tab)} - site={@site} - tab={@tab} - id={"site-#{@site.id}-#{@tab}"} - /> - - """ - end - - defp site_header(assigns) do - ~H""" -
-
- <.favicon class="w-8" domain={@site.domain} /> -
-
-

- {@site.domain} - - Rejecting traffic - - - - Traffic blocked - -

-

- Timezone: {@site.timezone} -

-

- Team: - <.styled_link patch={ - Routes.customer_support_team_path(PlausibleWeb.Endpoint, :show, @site.team.id) - }> - {@site.team.name} - -

-

- (previously: {@site.domain_changed_from}) -

-
-
- """ - end - - defp site_tab_navigation(assigns) do - ~H""" - <.tab_navigation tab={@tab}> - <:tabs> - <.tab to="overview" tab={@tab}>Overview - <.tab to="people" tab={@tab}>People - <.tab to="rescue-zone" tab={@tab}>Rescue Zone - - - """ - end - - defp tab_component("overview"), do: Overview - defp tab_component("people"), do: People - defp tab_component("rescue-zone"), do: RescueZone - defp tab_component(_), do: Overview -end diff --git a/extra/lib/plausible_web/live/customer_support/site/components/overview.ex b/extra/lib/plausible_web/live/customer_support/site/components/overview.ex deleted file mode 100644 index c67ee6cb937d23a97d4f73ccc89331e932460177..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/site/components/overview.ex +++ /dev/null @@ -1,104 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Site.Components.Overview do - @moduledoc """ - Site overview component - handles site settings and management - """ - use PlausibleWeb, :live_component - import PlausibleWeb.CustomerSupport.Live - - def update(%{site: site}, socket) do - changeset = Plausible.Site.crm_changeset(site, %{}) - form = to_form(changeset) - {:ok, assign(socket, site: site, form: form)} - end - - def render(assigns) do - ~H""" -
- <.form :let={f} for={@form} phx-target={@myself} phx-submit="save-site"> -
- Quick links: - - <.styled_link - new_tab={true} - href={Routes.stats_path(PlausibleWeb.Endpoint, :stats, @site.domain, [])} - > - Dashboard - - - <.styled_link - new_tab={true} - href={Routes.site_path(PlausibleWeb.Endpoint, :settings_general, @site.domain, [])} - > - Settings - - - <.styled_link - new_tab={true} - href={"https://plausible.grafana.net/d/BClBG5b4k/ingest-counters-per-domain?orgId=1&from=now-24h&to=now&timezone=browser&var-domain=#{@site.domain}&refresh=10s"} - > - Ingest Overview - -
- - <.input - type="select" - field={f[:timezone]} - label="Timezone" - options={Plausible.Timezones.options()} - /> - <.input type="checkbox" field={f[:public]} label="Public?" /> - <.input type="datetime-local" field={f[:native_stats_start_at]} label="Native Stats Start At" /> - <.input - type="text" - field={f[:ingest_rate_limit_threshold]} - label="Ingest Rate Limit Threshold" - /> - <.input - type="text" - field={f[:ingest_rate_limit_scale_seconds]} - label="Ingest Rate Limit Scale Seconds" - /> - -
- <.button phx-target={@myself} type="submit"> - Save - - - <.button - phx-target={@myself} - phx-click="delete-site" - data-confirm="Are you sure you want to delete this site?" - theme="danger" - > - Delete Site - -
- -
- """ - end - - def handle_event("save-site", %{"site" => params}, socket) do - site = socket.assigns.site - - case Plausible.Site.crm_changeset(site, params) |> Plausible.Repo.update() do - {:ok, updated_site} -> - form = Plausible.Site.crm_changeset(updated_site, %{}) |> to_form() - success("Site updated successfully") - {:noreply, assign(socket, site: updated_site, form: form)} - - {:error, changeset} -> - form = changeset |> to_form() - failure("Failed to update site") - {:noreply, assign(socket, form: form)} - end - end - - def handle_event("delete-site", _, socket) do - site = socket.assigns.site - - {:ok, _} = Plausible.Site.Removal.run(site) - navigate_with_success(Routes.customer_support_path(socket, :index), "Site deleted") - {:noreply, socket} - end -end diff --git a/extra/lib/plausible_web/live/customer_support/site/components/people.ex b/extra/lib/plausible_web/live/customer_support/site/components/people.ex deleted file mode 100644 index f3d284ede60c43474b85331f462bfd797892fa2f..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/site/components/people.ex +++ /dev/null @@ -1,70 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Site.Components.People do - @moduledoc """ - Site people component - handles site memberships and invitations - """ - use PlausibleWeb, :live_component - - def update(%{site: site}, socket) do - people = Plausible.Sites.list_people(site) - - people = - (people.invitations ++ people.memberships) - |> Enum.map(fn p -> - if Map.has_key?(p, :invitation_id) do - {:invitation, p.email, p.role} - else - {:membership, p.user, p.role} - end - end) - - {:ok, assign(socket, site: site, people: people)} - end - - def render(assigns) do - ~H""" -
- <.table rows={@people}> - <:thead> - <.th>User - <.th>Kind - <.th>Role - - <:tbody :let={{kind, person, role}}> - <.td :if={kind == :membership}> - <.styled_link - class="flex items-center" - patch={Routes.customer_support_user_path(PlausibleWeb.Endpoint, :show, person.id)} - > - - {person.name} - - - - <.td :if={kind == :invitation}> -
- - {person} -
- - - <.td :if={kind == :membership}> - Membership - - - <.td :if={kind == :invitation}> - Invitation - - - <.td>{role} - - -
- """ - end -end diff --git a/extra/lib/plausible_web/live/customer_support/site/components/rescue_zone.ex b/extra/lib/plausible_web/live/customer_support/site/components/rescue_zone.ex deleted file mode 100644 index 31e7dcc4ea606be616edddd1441025215bf85ca0..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/site/components/rescue_zone.ex +++ /dev/null @@ -1,89 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Site.Components.RescueZone do - @moduledoc """ - Site rescue zone component - handles site transfer functionality - """ - use PlausibleWeb, :live_component - import PlausibleWeb.CustomerSupport.Live - import PlausibleWeb.Components.Generic - import Ecto.Query - alias Plausible.Repo - alias PlausibleWeb.Live.Components.ComboBox - - def update(%{site: site}, socket) do - first_owner = - hd(Repo.preload(site, :owners).owners) - - {:ok, assign(socket, site: site, first_owner: first_owner)} - end - - def render(assigns) do - ~H""" -
-

Transfer Site

-
- <.label for="inviter_email"> - Initiate transfer as - - <.live_component - id="inviter_email" - submit_name="inviter_email" - class={[ - "mb-4" - ]} - module={ComboBox} - suggest_fun={fn input, _ -> search_email(input) end} - selected={{@first_owner.email, "#{@first_owner.name} <#{@first_owner.email}>"}} - /> - - <.label for="invitee_email"> - Send transfer invitation to - - <.live_component - id="invitee_email" - submit_name="invitee_email" - module={ComboBox} - suggest_fun={fn input, _ -> search_email(input) end} - creatable - /> - <.button phx-target={@myself} type="submit"> - Initiate Site Transfer - -
-
- """ - end - - def handle_event("init-transfer", params, socket) do - inviter = Plausible.Repo.get_by!(Plausible.Auth.User, email: params["inviter_email"]) - - case Plausible.Teams.Invitations.InviteToSite.invite( - socket.assigns.site, - inviter, - params["invitee_email"], - :owner - ) do - {:ok, _transfer} -> - success("Transfer e-mail sent!") - {:noreply, socket} - - error -> - failure("Transfer failed: #{inspect(error)}") - {:noreply, socket} - end - end - - defp search_email(input) do - Repo.all( - from u in Plausible.Auth.User, - where: ilike(u.name, ^"%#{input}%") or ilike(u.email, ^"%#{input}%"), - limit: 20, - order_by: [ - desc: fragment("?.name = ?", u, ^input), - desc: fragment("?.email = ?", u, ^input), - asc: u.name - ], - select: {u.email, u.name} - ) - |> Enum.map(fn {email, name} -> {email, "#{name} <#{email}>"} end) - end -end diff --git a/extra/lib/plausible_web/live/customer_support/team.ex b/extra/lib/plausible_web/live/customer_support/team.ex deleted file mode 100644 index bdcb8d505cb167a74897f5c079a6c738da2db8f9..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/team.ex +++ /dev/null @@ -1,381 +0,0 @@ -defmodule PlausibleWeb.Live.CustomerSupport.Team do - @moduledoc """ - Team coordinator LiveView for Customer Support interface. - - Manages tab-based navigation and delegates rendering to specialized - components: Overview, Members, Sites, Billing, SSO, and Audit. - """ - use PlausibleWeb.CustomerSupport.Live - - alias PlausibleWeb.CustomerSupport.Team.Components.{ - Overview, - Members, - Sites, - ConsolidatedViews, - Billing, - SSO, - Audit - } - - require Plausible.Billing.Subscription.Status - - def handle_params(%{"id" => id} = params, _uri, socket) do - tab = params["tab"] || "overview" - team_id = String.to_integer(id) - team = Resource.Team.get(team_id) - - if team do - tab_params = Map.drop(params, ["id", "tab"]) - - socket = - socket - |> assign(:team, team) - |> assign(:tab, tab) - |> assign(:tab_params, tab_params) - - {:noreply, go_to_tab(socket, tab, params, :team, tab_component(tab))} - else - {:noreply, redirect(socket, to: Routes.customer_support_path(socket, :index))} - end - end - - def handle_event("unlock", _, socket) do - {:noreply, unlock_team(socket)} - end - - def handle_event("lock", _, socket) do - {:noreply, lock_team(socket)} - end - - def handle_event("refund-lock", _, socket) do - team = socket.assigns.team - - {:ok, team} = - Plausible.Repo.transaction(fn -> - yesterday = Date.shift(Date.utc_today(), day: -1) - Plausible.Billing.SiteLocker.set_lock_status_for(team, true) - - Plausible.Repo.update!( - Plausible.Billing.Subscription.changeset(team.subscription, %{next_bill_date: yesterday}) - ) - - Resource.Team.get(team.id) - end) - - {:noreply, assign(socket, team: team)} - end - - def render(assigns) do - team = assigns.team - - usage = Plausible.Teams.Billing.quota_usage(team, with_features: true) - - limits = %{ - monthly_pageviews: Plausible.Teams.Billing.monthly_pageview_limit(team), - sites: Plausible.Teams.Billing.site_limit(team), - team_members: Plausible.Teams.Billing.team_member_limit(team) - } - - assigns = assign(assigns, usage: usage, limits: limits) - - ~H""" - - <.team_header team={@team} /> - <.team_tab_navigation team={@team} tab={@tab} limits={@limits} usage={@usage} /> - <.subscription_bar team={@team} /> - - <.live_component - module={tab_component(@tab)} - team={@team} - tab={@tab} - tab_params={@tab_params} - id={"team-#{@team.id}-#{@tab}"} - /> - - """ - end - - defp team_header(assigns) do - ~H""" -
-
-
-
-
- -
-
-
-

- {@team.name} -

-

- Set up at {@team.setup_at} - Not set up yet -

-
-
- -
- <.input_with_clipboard - id="team-identifier" - name="team-identifier" - label="Team Identifier" - value={@team.identifier} - onfocus="this.value = this.value;" - /> -
-
-
- """ - end - - defp team_tab_navigation(assigns) do - ~H""" - <.tab_navigation tab={@tab}> - <:tabs> - <.tab to="overview" tab={@tab}>Overview - <.tab to="members" tab={@tab}> - Members ({number_format(@usage.team_members)}/{number_format(@limits.team_members)}) - - <.tab to="sites" tab={@tab}> - Sites ({number_format(@usage.sites)}/{number_format(@limits.sites)}) - - <.tab :if={Plausible.Teams.setup?(@team)} to="consolidated_views" tab={@tab}> - Consolidated Views - - <.tab :if={has_sso_integration?(@team)} to="sso" tab={@tab}>SSO - <.tab to="billing" tab={@tab}>Billing - <.tab to="audit" tab={@tab}>Audit - - - """ - end - - defp subscription_bar(assigns) do - ~H""" -
-
- - Subscription status
{subscription_status(@team)} -
- -
- - <.styled_link - phx-click="refund-lock" - data-confirm="Are you sure you want to lock? The only way to unlock, is for the user to resubscribe." - > - Refund Lock - -
- -
- - Locked -
-
-
-
-
-
- - Subscription plan
{subscription_plan(@team)} -
-
-
- - Grace Period
{grace_period_status(@team)} - -
- -
- - <.styled_link phx-click="unlock">Unlock -
- -
- - <.styled_link phx-click="lock">Lock -
-
-
-
-
-
- """ - end - - defp tab_component("overview"), do: Overview - defp tab_component("members"), do: Members - defp tab_component("sites"), do: Sites - defp tab_component("consolidated_views"), do: ConsolidatedViews - defp tab_component("billing"), do: Billing - defp tab_component("sso"), do: SSO - defp tab_component("audit"), do: Audit - defp tab_component(_), do: Overview - - defp has_sso_integration?(team) do - case Plausible.Auth.SSO.get_integration_for(team) do - {:ok, _} -> true - {:error, :not_found} -> false - end - end - - defp team_bg(term) do - list = [ - "bg-blue-500", - "bg-blue-600", - "bg-blue-700", - "bg-blue-800", - "bg-cyan-500", - "bg-cyan-600", - "bg-cyan-700", - "bg-cyan-800", - "bg-red-500", - "bg-red-600", - "bg-red-700", - "bg-red-800", - "bg-green-500", - "bg-green-600", - "bg-green-700", - "bg-green-800", - "bg-yellow-500", - "bg-yellow-600", - "bg-yellow-700", - "bg-yellow-800", - "bg-orange-500", - "bg-orange-600", - "bg-orange-700", - "bg-orange-800", - "bg-purple-500", - "bg-purple-600", - "bg-purple-700", - "bg-purple-800", - "bg-gray-500", - "bg-gray-600", - "bg-gray-700", - "bg-gray-800", - "bg-emerald-500", - "bg-emerald-600", - "bg-emerald-700", - "bg-emerald-800" - ] - - idx = :erlang.phash2(term, length(list)) - Enum.at(list, idx) - end - - defp subscription_status(team) do - cond do - team && team.subscription -> - status_str = - PlausibleWeb.Components.Billing.Helpers.present_subscription_status( - team.subscription.status - ) - - if team.subscription.paddle_subscription_id do - assigns = %{status_str: status_str, subscription: team.subscription} - - ~H""" - <.styled_link new_tab={true} href={manage_url(@subscription)}>{@status_str} - """ - else - status_str - end - - Plausible.Teams.on_trial?(team) -> - "On trial" - - true -> - "Trial expired" - end - end - - defp manage_url(%{paddle_subscription_id: paddle_id} = _subscription) do - Plausible.Billing.PaddleApi.vendors_domain() <> - "/subscriptions/customers/manage/" <> paddle_id - end - - defp subscription_plan(team) do - subscription = team.subscription - - if Plausible.Billing.Subscription.Status.active?(subscription) && - subscription.paddle_subscription_id do - quota = PlausibleWeb.AuthView.subscription_quota(subscription) - interval = PlausibleWeb.AuthView.subscription_interval(subscription) - - assigns = %{quota: quota, interval: interval, subscription: subscription} - - ~H""" - <.styled_link new_tab={true} href={manage_url(@subscription)}> - {@quota} ({@interval}) - - """ - else - "--" - end - end - - defp grace_period_status(team) do - grace_period = team.grace_period - - case grace_period do - nil -> - "--" - - %{manual_lock: true, is_over: true} -> - "Manually locked" - - %{manual_lock: true, is_over: false} -> - "Waiting for manual lock" - - %{is_over: true} -> - "ended" - - %{end_date: %Date{} = end_date} -> - days_left = Date.diff(end_date, Date.utc_today()) - "#{days_left} days left" - end - end - - defp lock_team(socket) do - if socket.assigns.team.grace_period do - team = Plausible.Teams.end_grace_period(socket.assigns.team) - Plausible.Billing.SiteLocker.set_lock_status_for(team, true) - - put_live_flash(socket, :success, "Team locked. Grace period ended.") - assign(socket, team: team) - else - put_live_flash(socket, :error, "No grace period") - socket - end - end - - defp unlock_team(socket) do - if socket.assigns.team.grace_period do - team = Plausible.Teams.remove_grace_period(socket.assigns.team) - Plausible.Billing.SiteLocker.set_lock_status_for(team, false) - - put_live_flash(socket, :success, "Team unlocked. Grace period removed.") - assign(socket, team: team) - else - socket - end - end - - defp number_format(unlimited) when unlimited in [-1, "unlimited", :unlimited] do - "unlimited" - end - - defp number_format(input) do - PlausibleWeb.TextHelpers.number_format(input) - end -end diff --git a/extra/lib/plausible_web/live/customer_support/team/components/audit.ex b/extra/lib/plausible_web/live/customer_support/team/components/audit.ex deleted file mode 100644 index 937aee3a27248e21412b973a0422875ed04b9020..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/team/components/audit.ex +++ /dev/null @@ -1,245 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Team.Components.Audit do - @moduledoc """ - Team audit component - handles audit log viewing - """ - use PlausibleWeb, :live_component - - def update(%{team: team, tab_params: tab_params}, socket) do - pagination_params = get_pagination_params(tab_params) - audit_page = Plausible.Audit.list_entries_paginated([team_id: team.id], pagination_params) - - entries = process_audit_entries(audit_page.entries) - audit_page = %{audit_page | entries: entries} - current_limit = pagination_params["limit"] - - {:ok, - assign(socket, - team: team, - audit_page: audit_page, - revealed_audit_entry_id: nil, - current_limit: current_limit - )} - end - - def update(%{team: team}, socket) do - update(%{team: team, tab_params: %{}}, socket) - end - - def render(assigns) do - ~H""" -
-
- No audit logs yet -
- -
- <.input_with_clipboard - id="audit-entry-identifier" - name="audit-entry-identifier" - label="Audit Entry Identifier" - value={@revealed_audit_entry_id} - /> -
- <.input - rows="16" - type="textarea" - id="audit-entry-change" - name="audit-entry-change" - value={ - Jason.encode!( - Enum.find(@audit_page.entries, &(&1.id == @revealed_audit_entry_id)).change, - pretty: true - ) - } - > - - <.styled_link - class="text-sm float-right" - onclick="var textarea = document.getElementById('audit-entry-change'); textarea.focus(); textarea.select(); document.execCommand('copy');" - href="#" - > -
- COPY -
- - - <.styled_link - phx-click="reveal-audit-entry" - phx-target={@myself} - class="float-right pt-4 text-sm" - > - ← Return - - ESC - - -
-
- - <.table :if={is_nil(@revealed_audit_entry_id)} rows={@audit_page.entries}> - <:thead> - <.th invisible> - <.th invisible> - <.th>Name - <.th>Entity - <.th>Actor - <.th invisible>Actions - - <:tbody :let={entry}> - <.td>{Calendar.strftime(entry.datetime, "%Y-%m-%d")} - <.td>{Calendar.strftime(entry.datetime, "%H:%M:%S")} - <.td class="font-mono">{entry.name} - <.td truncate> - <.audit_entity entry={entry} /> - - <.td :if={entry.actor_type == :system}> -
- SYSTEM -
- - <.td :if={entry.actor_type == :user} truncate> - <.audit_user user={entry.meta.user} /> - - - <.td actions> - <.edit_button - phx-click="reveal-audit-entry" - phx-value-id={entry.id} - phx-target={@myself} - /> - - - - -
- <.button - :if={@audit_page.metadata.before} - id="prev-page" - phx-click="paginate-audit" - phx-value-before={@audit_page.metadata.before} - phx-value-limit={@current_limit} - phx-target={@myself} - theme="secondary" - > - ← Prev - -
- <.button - :if={@audit_page.metadata.after} - id="next-page" - phx-click="paginate-audit" - phx-value-after={@audit_page.metadata.after} - phx-value-limit={@current_limit} - phx-target={@myself} - theme="secondary" - > - Next → - -
-
- """ - end - - def handle_event("reveal-audit-entry", %{"id" => id}, socket) do - {:noreply, assign(socket, revealed_audit_entry_id: id)} - end - - def handle_event("reveal-audit-entry", _, socket) do - {:noreply, assign(socket, revealed_audit_entry_id: nil)} - end - - def handle_event("paginate-audit", params, socket) do - pagination_params = get_pagination_params(params) - team = socket.assigns.team - - query_params = %{"tab" => "audit"} |> Map.merge(pagination_params) - - {:noreply, - push_patch(socket, - to: Routes.customer_support_team_path(PlausibleWeb.Endpoint, :show, team.id, query_params) - )} - end - - defp process_audit_entries(entries) do - Enum.map(entries, fn entry -> - meta = entry.meta - - meta = - if entry.user_id && entry.user_id > 0 do - user = Plausible.Repo.get(Plausible.Auth.User, entry.user_id) - Map.put(meta, :user, user) - else - meta - end - - meta = - if entry.entity == "Plausible.Auth.User" do - user = Plausible.Repo.get(Plausible.Auth.User, String.to_integer(entry.entity_id)) - Map.put(meta, :entity, user) - else - meta - end - - Map.put(entry, :meta, meta) - end) - end - - attr :entry, Plausible.Audit.Entry - - defp audit_entity(assigns) do - ~H""" - <%= if @entry.entity == "Plausible.Auth.User" do %> - <.audit_user user={@entry.meta.entity} /> - <% else %> - {@entry.entity |> String.split(".") |> List.last()} #{String.slice(@entry.entity_id, 0, 8)} - <% end %> - """ - end - - attr :user, Plausible.Auth.User - - defp audit_user(%{user: nil} = assigns) do - ~H""" - (N/A) - """ - end - - defp audit_user(assigns) do - ~H""" -
- - - <.styled_link - patch={Routes.customer_support_user_path(PlausibleWeb.Endpoint, :show, @user.id)} - class="cursor-pointer flex block items-center" - > - {@user.name} - -
- """ - end - - defp get_pagination_params(params) do - params - |> Map.take(["after", "before", "limit"]) - |> Map.put_new("limit", 15) - end -end diff --git a/extra/lib/plausible_web/live/customer_support/team/components/billing.ex b/extra/lib/plausible_web/live/customer_support/team/components/billing.ex deleted file mode 100644 index 3a482b9d595364c99605bf93f9547e096542fe20..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/team/components/billing.ex +++ /dev/null @@ -1,461 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Team.Components.Billing do - @moduledoc """ - Team billing component - handles subscription and custom plans - """ - use PlausibleWeb, :live_component - import PlausibleWeb.CustomerSupport.Live - - alias Plausible.Billing.EnterprisePlan - alias Plausible.Billing.Plans - alias Plausible.Teams - import Ecto.Query, only: [from: 2] - import PlausibleWeb.Components.Generic - - def update(%{team: team}, socket) do - usage = Teams.Billing.quota_usage(team, with_features: true) - - limits = %{ - monthly_pageviews: Teams.Billing.monthly_pageview_limit(team), - sites: Teams.Billing.site_limit(team), - team_members: Teams.Billing.team_member_limit(team) - } - - plans = get_plans(team.id) - plan = Plans.get_subscription_plan(team.subscription) - - attrs = get_plan_attrs(plan) - plan_form = to_form(EnterprisePlan.changeset(%EnterprisePlan{}, attrs)) - - {:ok, - assign(socket, - team: team, - usage: usage, - limits: limits, - plan: plan, - plans: plans, - plan_form: plan_form, - show_plan_form?: false, - editing_plan: nil, - cost_estimate: 0 - )} - end - - def render(assigns) do - ~H""" -
- - -
- <.button - :if={!@show_plan_form?} - id="new-custom-plan" - phx-click="show-plan-form" - phx-target={@myself} - class="ml-auto" - > - New Custom Plan - -
- -
-

Usage

- <.table rows={monthly_pageviews_usage(@usage.monthly_pageviews, @limits.monthly_pageviews)}> - <:thead> - <.th invisible>Cycle - <.th invisible>Dates - <.th>Total - <.th>Limit - - <:tbody :let={{cycle, date, total, limit}}> - <.td>{cycle} - <.td>{date} - <.td> - limit, do: "text-red-600"}> - {number_format(total)} - - - <.td>{number_format(limit)} - - - -

-

Features Used

- - {@usage.features |> Enum.map(& &1.display_name()) |> Enum.join(", ")} - -

- -

- Custom Plans -

- <.table :if={!@show_plan_form?} rows={@plans}> - <:thead> - <.th invisible>Interval - <.th>Paddle Plan ID - <.th>Limits - <.th>Features - <.th invisible>Actions - - <:tbody :let={plan}> - <.td class="align-top"> - {plan.billing_interval} - - <.td class="align-top" data-test-id={"plan-entry-#{plan.paddle_plan_id}"}> - {plan.paddle_plan_id} - - - CURRENT - - - <.td max_width="max-w-40"> - <.table rows={[ - {"Pageviews", number_format(plan.monthly_pageview_limit)}, - {"Sites", number_format(plan.site_limit)}, - {"Members", number_format(plan.team_member_limit)}, - {"API Requests", number_format(plan.hourly_api_request_limit)} - ]}> - <:tbody :let={{label, value}}> - <.td>{label} - <.td>{value} - - - - <.td class="align-top"> - {feat.display_name()}
- - <.td class="align-top"> - <.edit_button phx-click="edit-plan" phx-value-id={plan.id} phx-target={@myself} /> - <.delete_button - :if={not current_plan?(@team, plan.paddle_plan_id)} - data-test-id={"delete-plan-#{plan.paddle_plan_id}"} - data-confirm="Are you sure you want to delete this plan?" - phx-click="delete-plan" - phx-value-id={plan.id} - phx-target={@myself} - /> - - - - - <.form - :let={f} - :if={@show_plan_form?} - for={@plan_form} - id="save-plan" - phx-submit={if @editing_plan, do: "update-plan", else: "save-plan"} - phx-target={@myself} - phx-change="estimate-cost" - > - <.input field={f[:paddle_plan_id]} label="Paddle Plan ID" autocomplete="off" /> - <.input - type="select" - options={["monthly", "yearly"]} - field={f[:billing_interval]} - label="Billing Interval" - autocomplete="off" - /> - -
- <.input - field={f[:monthly_pageview_limit]} - label="Monthly Pageview Limit" - autocomplete="off" - width="w-[500]" - /> - <.preview for={f[:monthly_pageview_limit]} /> -
- -
- <.input width="w-[500]" field={f[:site_limit]} label="Site Limit" autocomplete="off" /> - <.preview for={f[:site_limit]} /> -
- -
- <.input - field={f[:team_member_limit]} - label="Team Member Limit" - autocomplete="off" - width="w-[500]" - /> - <.preview for={f[:team_member_limit]} /> -
- -
- <.input - field={f[:hourly_api_request_limit]} - label="Hourly API Request Limit" - autocomplete="off" - width="w-[500]" - /> - <.preview for={f[:hourly_api_request_limit]} /> -
- - <.input - :for={ - mod <- - Plausible.Billing.Feature.list() - |> Enum.sort_by(fn item -> if item.name() == :stats_api, do: 0, else: 1 end) - } - :if={mod not in Teams.Billing.free_features()} - x-on:change="featureChangeCallback(event)" - type="checkbox" - value={mod in (f.source.changes[:features] || f.source.data.features || [])} - name={"#{f.name}[features[]][#{mod.name()}]"} - label={mod.display_name()} - /> - -
- <.input - type="checkbox" - field={f[:managed_proxy_price_modifier]} - label="Managed proxy" - /> -
- -
- <.input_with_clipboard - id="cost-estimate" - name="cost-estimate" - label={"#{(f[:billing_interval].value || "monthly")} cost estimate"} - value={@cost_estimate} - /> - - <.button theme="secondary" phx-click="hide-plan-form" phx-target={@myself}> - Cancel - - - <.button type="submit"> - {if @editing_plan, do: "Update Plan", else: "Save Custom Plan"} - -
- -
-
- """ - end - - def handle_event("show-plan-form", _, socket) do - {:noreply, assign(socket, show_plan_form?: true, editing_plan: nil)} - end - - def handle_event("edit-plan", %{"id" => plan_id}, socket) do - {plan_id, _} = Integer.parse(plan_id) - plan = Enum.find(socket.assigns.plans, &(&1.id == plan_id)) - - if plan do - plan_form = to_form(EnterprisePlan.changeset(plan, %{})) - {:noreply, assign(socket, show_plan_form?: true, editing_plan: plan, plan_form: plan_form)} - else - {:noreply, socket} - end - end - - def handle_event("delete-plan", %{"id" => plan_id}, socket) do - plan = Plausible.Repo.get(EnterprisePlan, plan_id) - - if not current_plan?(socket.assigns.team, plan.paddle_plan_id), - do: Plausible.Repo.delete(plan) - - plans = get_plans(socket.assigns.team.id) - {:noreply, assign(socket, plans: plans)} - end - - def handle_event("hide-plan-form", _, socket) do - {:noreply, assign(socket, show_plan_form?: false, editing_plan: nil)} - end - - def handle_event("estimate-cost", %{"enterprise_plan" => params}, socket) do - params = update_features_to_list(params) - - form = to_form(EnterprisePlan.changeset(%EnterprisePlan{}, params)) - - params = sanitize_params(params) - - cost_estimate = - Plausible.CustomerSupport.EnterprisePlan.estimate( - billing_interval: params["billing_interval"], - pageviews_per_month: get_int_param(params, "monthly_pageview_limit"), - sites_limit: get_int_param(params, "site_limit"), - team_members_limit: get_int_param(params, "team_member_limit"), - api_calls_limit: get_int_param(params, "hourly_api_request_limit"), - features: params["features"], - managed_proxy_price_modifier: params["managed_proxy_price_modifier"] == "true" - ) - - {:noreply, assign(socket, cost_estimate: cost_estimate, plan_form: form)} - end - - def handle_event("save-plan", %{"enterprise_plan" => params}, socket) do - params = params |> update_features_to_list() |> sanitize_params() - changeset = EnterprisePlan.changeset(%EnterprisePlan{team_id: socket.assigns.team.id}, params) - - case Plausible.Repo.insert(changeset) do - {:ok, _plan} -> - success("Plan saved") - plans = get_plans(socket.assigns.team.id) - - {:noreply, - assign(socket, - plans: plans, - plan_form: to_form(changeset), - show_plan_form?: false, - editing_plan: nil - )} - - {:error, changeset} -> - failure("Error saving plan: #{inspect(changeset.errors)}") - {:noreply, assign(socket, plan_form: to_form(changeset))} - end - end - - def handle_event("update-plan", %{"enterprise_plan" => params}, socket) do - params = params |> update_features_to_list() |> sanitize_params() - changeset = EnterprisePlan.changeset(socket.assigns.editing_plan, params) - - case Plausible.Repo.update(changeset) do - {:ok, _plan} -> - success("Plan updated") - plans = get_plans(socket.assigns.team.id) - - {:noreply, - assign(socket, - plans: plans, - plan_form: to_form(changeset), - show_plan_form?: false, - editing_plan: nil - )} - - {:error, changeset} -> - failure("Error updating plan: #{inspect(changeset.errors)}") - {:noreply, assign(socket, plan_form: to_form(changeset))} - end - end - - # Helper functions - defp get_plan_attrs(plan) when is_map(plan) do - Map.take(plan, [ - :billing_interval, - :monthly_pageview_limit, - :site_limit, - :team_member_limit, - :hourly_api_request_limit, - :features - ]) - |> Map.update(:features, [], fn features -> - Enum.map(features, &to_string(&1.name())) - end) - end - - defp get_plan_attrs(_) do - %{ - monthly_pageview_limit: 10_000, - hourly_api_request_limit: 600, - site_limit: 10, - team_member_limit: 10, - features: Plausible.Billing.Feature.list() -- [Plausible.Billing.Feature.SSO] - } - end - - defp monthly_pageviews_usage(usage, limit) do - usage - |> Enum.sort_by(fn {_cycle, usage} -> usage.date_range.first end, :desc) - |> Enum.map(fn {cycle, usage} -> - {cycle, PlausibleWeb.TextHelpers.format_date_range(usage.date_range), usage.total, limit} - end) - end - - defp get_plans(team_id) do - Plausible.Repo.all( - from ep in EnterprisePlan, - where: ep.team_id == ^team_id, - order_by: [desc: :id] - ) - end - - defp number_format(unlimited) when unlimited in [-1, "unlimited", :unlimited] do - "unlimited" - end - - defp number_format(input) do - PlausibleWeb.TextHelpers.number_format(input) - end - - defp sanitize_params(params) do - params - |> Enum.map(&clear_param/1) - |> Enum.reject(&(&1 == "")) - |> Map.new() - end - - defp clear_param({key, value}) when is_binary(value) do - {key, String.trim(value)} - end - - defp clear_param(other) do - other - end - - defp get_int_param(params, key) do - param = Map.get(params, key) - param = if param in ["", nil], do: "0", else: param - - case Integer.parse(param) do - {integer, ""} -> integer - _ -> 0 - end - end - - defp update_features_to_list(params) do - features = - params["features[]"] - |> Enum.reject(fn {_key, value} -> value == "false" or value == "" end) - |> Enum.map(fn {key, _value} -> key end) - - Map.put(params, "features", features) - end - - defp preview_number(n) do - case Integer.parse("#{n}") do - {n, ""} -> - number_format(n) <> - " (#{PlausibleWeb.StatsView.large_number_format(n)})" - - _ -> - "0" - end - end - - attr :for, :any, required: true - - defp preview(assigns) do - ~H""" - <.input - name={"#{@for.name}-preview"} - label="Preview" - autocomplete="off" - width="w-[500]" - readonly - value={preview_number(@for.value)} - class="bg-transparent border-0 p-0 m-0 text-sm w-full" - /> - """ - end - - defp current_plan?(%{subscription: %{paddle_plan_id: id}}, id), do: true - defp current_plan?(_, _), do: false -end diff --git a/extra/lib/plausible_web/live/customer_support/team/components/consolidated_views.ex b/extra/lib/plausible_web/live/customer_support/team/components/consolidated_views.ex deleted file mode 100644 index 3331436befb295c6bcb44ca5f6a199f5581f4ebb..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/team/components/consolidated_views.ex +++ /dev/null @@ -1,112 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Team.Components.ConsolidatedViews do - @moduledoc """ - Lists ConsolidatedViews of a team and allows creating one if none exist. Current - limitation is one consolidated view per team, which always includes all sites of - this team. - """ - use PlausibleWeb, :live_component - import PlausibleWeb.CustomerSupport.Live - alias Plausible.ConsolidatedView - alias Plausible.Stats - - def update(%{team: team}, socket) do - consolidated_view = ConsolidatedView.get(team) - - sparkline_intervals = - with true <- connected?(socket), - {:ok, sparkline} <- Stats.Sparkline.safe_overview_24h(consolidated_view) do - sparkline.intervals - else - _ -> - Stats.Sparkline.empty_24h_intervals() - end - - {:ok, - assign(socket, - team: team, - consolidated_views: List.wrap(consolidated_view), - sparkline_intervals: sparkline_intervals - )} - end - - def render(assigns) do - ~H""" -
- <%= if Enum.empty?(@consolidated_views) do %> -
-

This team does not have a consolidated view yet.

- <.button class="mx-auto" phx-click="create-consolidated-view" phx-target={@myself}> - Create one - -
- <% else %> - <.table rows={@consolidated_views}> - <:thead> - <.th>Domain - <.th>Timezone - <.th>Available? - <.th invisible>Dashboard - <.th invisible>24H - <.th invisible>Delete - - - <:tbody :let={consolidated_view}> - <.td>{consolidated_view.domain} - <.td>{consolidated_view.timezone} - <.td>{availability(@team)} - <.td> - <.styled_link - new_tab={true} - href={Routes.stats_path(PlausibleWeb.Endpoint, :stats, consolidated_view.domain, [])} - > - Dashboard - - - - <.td> - - - - - <.td> - <.delete_button - phx-click="delete-consolidated-view" - phx-target={@myself} - data-confirm="Are you sure you want to delete this consolidated view? All existing consolidated view configuration will be lost. The view itself will be recreated whenever eligible subscription/trial accesses /sites for that team." - /> - - - - <% end %> -
- """ - end - - def handle_event("create-consolidated-view", _, socket) do - case ConsolidatedView.enable(socket.assigns.team) do - {:ok, consolidated_view} -> - success("Consolidated view created") - {:noreply, assign(socket, consolidated_views: [consolidated_view])} - - {:error, reason} -> - failure("Could not create consolidated view. Reason: #{inspect(reason)}") - {:noreply, socket} - end - end - - def handle_event("delete-consolidated-view", _, socket) do - ConsolidatedView.disable(socket.assigns.team) - success("Deleted consolidated view") - {:noreply, assign(socket, consolidated_views: [])} - end - - defp availability(team) do - case Plausible.Billing.Feature.ConsolidatedView.check_availability(team) do - :ok -> "Yes" - {:error, :upgrade_required} -> "No - upgrade required" - end - end -end diff --git a/extra/lib/plausible_web/live/customer_support/team/components/members.ex b/extra/lib/plausible_web/live/customer_support/team/components/members.ex deleted file mode 100644 index 45971568020aaf9ee58160915a72893ba16b4486..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/team/components/members.ex +++ /dev/null @@ -1,94 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Team.Components.Members do - @moduledoc """ - Team members component - handles team member management - """ - use PlausibleWeb, :live_component - import PlausibleWeb.CustomerSupport.Live - alias Plausible.Teams - - def update(%{team: team}, socket) do - {:ok, refresh_members(socket, team)} - end - - def render(assigns) do - ~H""" -
- <.table rows={Teams.Management.Layout.sorted_for_display(@team_layout)}> - <:thead> - <.th>User - <.th>Sessions - <.th>Type - <.th>Role - - <:tbody :let={{_, member}}> - <.td truncate> -
- <.styled_link - patch={Routes.customer_support_user_path(PlausibleWeb.Endpoint, :show, member.id)} - class="cursor-pointer flex block items-center" - > - - {member.name} <{member.email}> - -
-
- - {member.name} <{member.email}> -
- - <.td> - {if member.type == :membership, do: @session_counts[member.meta.user.id] || 0, else: 0} - - <.td> -
- SSO {member.type} - - <.delete_button - :if={member.type == :membership && member.meta.user.type == :sso} - id={"deprovision-sso-user-#{member.id}"} - phx-click="deprovision-sso-user" - phx-value-identifier={member.id} - phx-target={@myself} - class="text-sm" - icon={:user_minus} - data-confirm="Are you sure you want to deprovision SSO user and convert them to a standard user? This will sign them out and force to use regular e-mail/password combination to log in again." - /> -
- - <.td> - {member.role} - - - -
- """ - end - - def handle_event("deprovision-sso-user", %{"identifier" => user_id}, socket) do - [id: String.to_integer(user_id)] - |> Plausible.Auth.find_user_by() - |> Plausible.Auth.SSO.deprovision_user!() - - success("SSO user deprovisioned") - {:noreply, refresh_members(socket, socket.assigns.team)} - end - - defp refresh_members(socket, team) do - team_layout = Teams.Management.Layout.init(team) - - session_counts = - team_layout - |> Enum.map(fn {_, entry} -> if entry.type == :membership, do: entry.meta.user end) - |> Enum.reject(&is_nil/1) - |> Plausible.Auth.UserSessions.count_for_users() - |> Enum.into(%{}) - - assign(socket, team: team, team_layout: team_layout, session_counts: session_counts) - end -end diff --git a/extra/lib/plausible_web/live/customer_support/team/components/overview.ex b/extra/lib/plausible_web/live/customer_support/team/components/overview.ex deleted file mode 100644 index 3fd1866cec52751c62bfb64a7eca38321ebfc85d..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/team/components/overview.ex +++ /dev/null @@ -1,74 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Team.Components.Overview do - @moduledoc """ - Team overview component - handles team basic info, trial dates, notes - """ - use PlausibleWeb, :live_component - import PlausibleWeb.CustomerSupport.Live - - def update(%{team: team}, socket) do - changeset = Plausible.Teams.Team.crm_changeset(team, %{}) - form = to_form(changeset) - - {:ok, assign(socket, team: team, form: form)} - end - - def render(assigns) do - ~H""" -
- <.form :let={f} for={@form} phx-submit="save-team" phx-target={@myself}> - <.input field={f[:trial_expiry_date]} type="date" label="Trial Expiry Date" /> - <.input field={f[:accept_traffic_until]} type="date" label="Accept traffic Until" /> - <.input - type="checkbox" - field={f[:allow_next_upgrade_override]} - label="Allow Next Upgrade Override" - /> - - <.input type="textarea" field={f[:notes]} label="Notes" /> - -
- <.button type="submit"> - Save - - - <.button - phx-target={@myself} - phx-click="delete-team" - data-confirm="Are you sure you want to delete this team?" - theme="danger" - > - Delete Team - -
- -
- """ - end - - def handle_event("save-team", %{"team" => params}, socket) do - changeset = Plausible.Teams.Team.crm_changeset(socket.assigns.team, params) - - case Plausible.Repo.update(changeset) do - {:ok, team} -> - success("Team saved") - {:noreply, assign(socket, team: team, form: to_form(changeset))} - - {:error, changeset} -> - failure("Error saving team: #{inspect(changeset.errors)}") - {:noreply, assign(socket, form: to_form(changeset))} - end - end - - def handle_event("delete-team", _params, socket) do - case Plausible.Teams.delete(socket.assigns.team) do - {:ok, :deleted} -> - navigate_with_success(Routes.customer_support_path(socket, :index), "Team deleted") - {:noreply, socket} - - {:error, :active_subscription} -> - failure("The team has an active subscription which must be canceled first.") - - {:noreply, socket} - end - end -end diff --git a/extra/lib/plausible_web/live/customer_support/team/components/sites.ex b/extra/lib/plausible_web/live/customer_support/team/components/sites.ex deleted file mode 100644 index 920457cff4c6183c2de7be2751aadb655ed92a3b..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/team/components/sites.ex +++ /dev/null @@ -1,245 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Team.Components.Sites do - @moduledoc """ - Team sites component - handles team sites listing - """ - use PlausibleWeb, :live_component - - import Ecto.Query, except: [update: 2, update: 3] - import PlausibleWeb.Live.Components.Pagination - - alias Plausible.Repo - alias Plausible.Site - alias Plausible.Sites.Index - - @page_size 24 - - def update(%{team: team, tab_params: tab_params}, socket) do - team = Repo.preload(team, :owners) - owner = List.first(team.owners) - - socket = - assign_new(socket, :index_state, fn -> - Index.build(owner, team: team, sort_by: :traffic, sort_direction: :desc) - end) - - page = - Index.paginate(socket.assigns.index_state, page: tab_params["page"], page_size: @page_size) - - sites = fetch_sites(page.entries) - - hourly_stats = build_hourly_stats(sites, socket) - - uri = - Routes.customer_support_team_path(PlausibleWeb.Endpoint, :show, team.id, tab: "sites") - |> URI.parse() - - {:ok, - assign(socket, - team: team, - sites: sites, - hourly_stats: hourly_stats, - page_number: page.page_number, - total_pages: page.total_pages, - total_entries: page.total_entries, - uri: uri - )} - end - - def update(%{team: team}, socket) do - update(%{team: team, tab_params: %{}}, socket) - end - - def handle_event("sort", %{"by" => by}, socket) do - sort_by = parse_sort_by(by) - current_state = socket.assigns.index_state - current_sort_by = current_state.sort_by - - sort_direction = - case sort_by do - ^current_sort_by -> - flip_direction(current_state.sort_direction) - - :traffic -> - :desc - - :alnum -> - :asc - end - - new_state = Index.sort(current_state, sort_by: sort_by, sort_direction: sort_direction) - page = Index.paginate(new_state, page: 1, page_size: @page_size) - sites = fetch_sites(page.entries) - - hourly_stats = build_hourly_stats(sites, socket) - - {:noreply, - assign(socket, - index_state: new_state, - sites: sites, - page_number: page.page_number, - total_pages: page.total_pages, - total_entries: page.total_entries, - hourly_stats: hourly_stats - )} - end - - def render(assigns) do - assigns = - assign(assigns, - sort_by: assigns.index_state.sort_by, - sort_direction: assigns.index_state.sort_direction - ) - - ~H""" -
- <.table rows={@sites}> - <:thead> - - Domain <.sort_arrow active={@sort_by == :alnum} direction={@sort_direction} /> - - <.th>Previous Domain - <.th>Timezone - <.th invisible>Settings - <.th invisible>Dashboard - - Traffic <.sort_arrow active={@sort_by == :traffic} direction={@sort_direction} /> - - - <:tbody :let={site}> - <.td> -
- - <.styled_link - patch={Routes.customer_support_site_path(PlausibleWeb.Endpoint, :show, site.id)} - class="cursor-pointer flex block items-center" - > - {site.domain} - - - - - -
- - <.td>{site.domain_changed_from || "--"} - <.td>{site.timezone} - <.td> - <.styled_link - new_tab={true} - href={Routes.stats_path(PlausibleWeb.Endpoint, :stats, site.domain, [])} - > - Dashboard - - - <.td> - <.styled_link - new_tab={true} - href={Routes.site_path(PlausibleWeb.Endpoint, :settings_general, site.domain, [])} - > - Settings - - - <.td max_width="max-w-40"> - - - - - Unique visitors: {if is_map(@hourly_stats), - do: @hourly_stats[site.domain][:visitors] || 0, - else: 0} - - - - - <.pagination - :if={@total_pages > 1} - id="sites-pagination" - uri={@uri} - page_number={@page_number} - total_pages={@total_pages} - > - Total of {@total_entries} - sites. Page {@page_number} of {@total_pages} - -
- """ - end - - defp fetch_sites([]), do: [] - - defp fetch_sites(site_ids) do - by_id = - from(s in Site.regular(), - where: s.id in ^site_ids, - select: {s.id, s} - ) - |> Repo.all() - |> Map.new() - - Enum.map(site_ids, fn id -> Map.get(by_id, id) end) - end - - defp build_hourly_stats(sites, socket) do - if connected?(socket) do - Plausible.Stats.Sparkline.parallel_overview(sites) - else - sites - |> Enum.map(fn site -> - {site.domain, - %{ - intervals: Plausible.Stats.Sparkline.empty_24h_intervals(), - visitors: 0, - visitors_change: 0 - }} - end) - |> Map.new() - end - end - - defp parse_sort_by("alnum"), do: :alnum - defp parse_sort_by(_), do: :traffic - - defp flip_direction(:asc), do: :desc - defp flip_direction(:desc), do: :asc - - attr :active, :boolean, required: true - attr :direction, :atom, required: true - - defp sort_arrow(%{active: false} = assigns) do - ~H""" - ↕ - """ - end - - defp sort_arrow(%{direction: :asc} = assigns) do - ~H""" - ↑ - """ - end - - defp sort_arrow(assigns) do - ~H""" - ↓ - """ - end -end diff --git a/extra/lib/plausible_web/live/customer_support/team/components/sso.ex b/extra/lib/plausible_web/live/customer_support/team/components/sso.ex deleted file mode 100644 index ed4d816dbb3459ea372263e0a903bb2e9841dfa3..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/team/components/sso.ex +++ /dev/null @@ -1,114 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.Team.Components.SSO do - @moduledoc """ - Team SSO component - handles SSO integration management - """ - use PlausibleWeb, :live_component - import PlausibleWeb.CustomerSupport.Live - alias Plausible.Auth.SSO - - def update(%{team: team}, socket) do - sso_integration = get_sso_integration(team) - {:ok, assign(socket, team: team, sso_integration: sso_integration)} - end - - def render(assigns) do - ~H""" -
-
-
- <.table rows={ - [ - {"configured?", SSO.Integration.configured?(@sso_integration)}, - {"IDP Sign-in URL", @sso_integration.config.idp_signin_url}, - {"IDP Entity ID", @sso_integration.config.idp_entity_id} - ] ++ Enum.into(Map.from_struct(@team.policy), []) - }> - <:tbody :let={{k, v}}> - <.td>{k} - <.td>{v} - - -
- - <.table rows={@sso_integration.sso_domains}> - <:thead> - <.th>Domain - <.th>Status - <.th> - - <:tbody :let={sso_domain}> - <.td> - {sso_domain.domain} - - <.td> - {sso_domain.status} - - (via {sso_domain.verified_via} at {Calendar.strftime( - sso_domain.last_verified_at, - "%b %-d, %Y" - )}) - - - <.td actions> - <.delete_button - id={"remove-sso-domain-#{sso_domain.identifier}"} - phx-click="remove-sso-domain" - phx-value-identifier={sso_domain.identifier} - phx-target={@myself} - class="text-sm text-red-600" - data-confirm={"Are you sure you want to remove domain '#{sso_domain.domain}'? All SSO users will be deprovisioned and logged out."} - /> - - - - -
- <.button - data-confirm="Are you sure you want to remove this SSO team integration, including all its domains and users?" - id="remove-sso-integration" - phx-click="remove-sso-integration" - phx-target={@myself} - theme="danger" - > - Remove Integration - -
-
-
-

No SSO integration configured for this team.

-
-
- """ - end - - def handle_event("remove-sso-integration", _, socket) do - :ok = SSO.remove_integration(socket.assigns.sso_integration, force_deprovision?: true) - - socket = - socket - |> assign(sso_integration: nil) - |> push_navigate( - to: Routes.customer_support_team_path(socket, :show, socket.assigns.team.id) - ) - - success("SSO integration removed") - - {:noreply, socket} - end - - def handle_event("remove-sso-domain", %{"identifier" => i}, socket) do - domain = Enum.find(socket.assigns.sso_integration.sso_domains, &(&1.identifier == i)) - :ok = SSO.Domains.remove(domain, force_deprovision?: true) - - success("SSO domain removed") - - {:noreply, assign(socket, sso_integration: get_sso_integration(socket.assigns.team))} - end - - defp get_sso_integration(team) do - case SSO.get_integration_for(team) do - {:error, :not_found} -> nil - {:ok, integration} -> integration - end - end -end diff --git a/extra/lib/plausible_web/live/customer_support/user.ex b/extra/lib/plausible_web/live/customer_support/user.ex deleted file mode 100644 index c1ef1547951ce59452623793f36f35f6c02d489f..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/user.ex +++ /dev/null @@ -1,115 +0,0 @@ -defmodule PlausibleWeb.Live.CustomerSupport.User do - @moduledoc """ - User coordinator LiveView for Customer Support interface. - - Manages tab-based navigation and delegates rendering to specialized - components: Overview and API Keys. - """ - use PlausibleWeb.CustomerSupport.Live - - import Ecto.Query - alias Plausible.Repo - - alias PlausibleWeb.CustomerSupport.User.Components.{ - Overview, - Keys - } - - def handle_params(%{"id" => user_id} = params, _uri, socket) do - tab = params["tab"] || "overview" - user = Resource.User.get(user_id) - - if user do - keys_count = count_keys(user) - - socket = - socket - |> assign(:user, user) - |> assign(:tab, tab) - |> assign(:keys_count, keys_count) - - {:noreply, go_to_tab(socket, tab, params, :user, tab_component(tab))} - else - {:noreply, redirect(socket, to: Routes.customer_support_path(socket, :index))} - end - end - - def render(assigns) do - ~H""" - -
- <.user_header user={@user} /> - <.user_tab_navigation user={@user} tab={@tab} keys_count={@keys_count} /> - - <.live_component - module={tab_component(@tab)} - user={@user} - tab={@tab} - id={"user-#{@user.id}-#{@tab}"} - /> -
-
- """ - end - - defp user_header(assigns) do - ~H""" -
-
-
-
- -
-
-
-

-

- {@user.name} - - SSO - -
-

-

{@user.email}

-
-
- -
- <.input_with_clipboard - id="user-identifier" - name="user-identifier" - label="User Identifier" - value={@user.id} - /> -
-
- """ - end - - defp user_tab_navigation(assigns) do - ~H""" - <.tab_navigation tab={@tab}> - <:tabs> - <.tab to="overview" tab={@tab}>Overview - <.tab to="keys" tab={@tab}> - API Keys ({@keys_count}) - - - - """ - end - - defp tab_component("overview"), do: Overview - defp tab_component("keys"), do: Keys - defp tab_component(_), do: Overview - - defp count_keys(user) do - from(api_key in Plausible.Auth.ApiKey, - where: api_key.user_id == ^user.id - ) - |> Repo.aggregate(:count) - end -end diff --git a/extra/lib/plausible_web/live/customer_support/user/components/keys.ex b/extra/lib/plausible_web/live/customer_support/user/components/keys.ex deleted file mode 100644 index 311c9f73f5f87ad25c9c5265c005b51506b063f5..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/user/components/keys.ex +++ /dev/null @@ -1,52 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.User.Components.Keys do - @moduledoc """ - User API keys component - handles displaying user's API keys - """ - use PlausibleWeb, :live_component - import Ecto.Query - alias Plausible.Repo - - def update(%{user: user}, socket) do - keys = keys(user) - {:ok, assign(socket, user: user, keys: keys)} - end - - def render(assigns) do - ~H""" -
- <.table rows={@keys}> - <:thead> - <.th>Team - <.th>Name - <.th>Scopes - <.th>Prefix - - <:tbody :let={api_key}> - <.td :if={is_nil(api_key.team)}>N/A - <.td :if={api_key.team}> - <.styled_link patch={ - Routes.customer_support_team_path(PlausibleWeb.Endpoint, :show, api_key.team.id) - }> - {api_key.team.name} - - - <.td>{api_key.name} - <.td> - {api_key.scopes} - - <.td>{api_key.key_prefix} - - -
- """ - end - - defp keys(user) do - from( - key in Plausible.Auth.ApiKey, - where: key.user_id == ^user.id, - preload: :team - ) - |> Repo.all() - end -end diff --git a/extra/lib/plausible_web/live/customer_support/user/components/overview.ex b/extra/lib/plausible_web/live/customer_support/user/components/overview.ex deleted file mode 100644 index 77ee4a47be79e6b2227ea365c71830846b5e74f9..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/customer_support/user/components/overview.ex +++ /dev/null @@ -1,125 +0,0 @@ -defmodule PlausibleWeb.CustomerSupport.User.Components.Overview do - @moduledoc """ - User overview component - handles user settings, team memberships, and user management - """ - use PlausibleWeb, :live_component - import PlausibleWeb.CustomerSupport.Live - - alias Plausible.Auth.TOTP - - def update(%{user: user}, socket) do - form = user |> Plausible.Auth.User.changeset() |> to_form() - {:ok, assign(socket, user: user, form: form)} - end - - def render(assigns) do - ~H""" -
-
-
-
- - Two-Factor Authentication: - - {if TOTP.enabled?(@user), do: "Enabled", else: "Disabled"} - - -
-
-
- - <.table rows={@user.team_memberships}> - <:thead> - <.th>Team - <.th>Role - - <:tbody :let={membership}> - <.td> - <.styled_link patch={ - Routes.customer_support_team_path(PlausibleWeb.Endpoint, :show, membership.team.id) - }> - {membership.team.name} - - - <.td>{membership.role} - - - - <.form :let={f} for={@form} phx-target={@myself} phx-submit="save-user" class="mt-8"> - <.input type="textarea" field={f[:notes]} label="Notes" /> -
-
- <.button phx-target={@myself} type="submit"> - Save - -
-
- <.button - :if={TOTP.enabled?(@user)} - phx-target={@myself} - phx-click="force-disable-2fa" - data-confirm="Are you sure you want to force disable 2FA for this user? This action cannot be undone." - theme="danger" - > - Force Disable 2FA - - <.button - phx-target={@myself} - phx-click="delete-user" - data-confirm="Are you sure you want to delete this user?" - theme="danger" - > - Delete User - -
-
- -
- """ - end - - def handle_event("delete-user", _params, socket) do - user = socket.assigns.user - - case Plausible.Auth.delete_user(user) do - {:ok, _} -> - navigate_with_success(Routes.customer_support_path(socket, :index), "User deleted") - {:noreply, socket} - - {:error, :active_subscription} -> - failure("Cannot delete user with active subscription") - {:noreply, socket} - - {:error, reason} -> - failure("Failed to delete user: #{inspect(reason)}") - {:noreply, socket} - end - end - - def handle_event("force-disable-2fa", _params, socket) do - user = socket.assigns.user - - {:ok, updated_user} = TOTP.force_disable(user) - send(self(), {:success, "2FA has been force disabled for this user"}) - {:noreply, assign(socket, user: updated_user)} - end - - def handle_event("save-user", %{"user" => params}, socket) do - user = socket.assigns.user - - case Plausible.Auth.User.changeset(user, params) |> Plausible.Repo.update() do - {:ok, updated_user} -> - form = updated_user |> Plausible.Auth.User.changeset() |> to_form() - success("User updated successfully") - {:noreply, assign(socket, user: updated_user, form: form)} - - {:error, changeset} -> - form = changeset |> to_form() - failure("Failed to update user") - {:noreply, assign(socket, form: form)} - end - end -end diff --git a/extra/lib/plausible_web/live/funnel_settings.ex b/extra/lib/plausible_web/live/funnel_settings.ex deleted file mode 100644 index 4b79dd945a07dfae568efe2c490898a1ac208ece..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/funnel_settings.ex +++ /dev/null @@ -1,175 +0,0 @@ -defmodule PlausibleWeb.Live.FunnelSettings do - @moduledoc """ - LiveView allowing listing, creating and deleting funnels. - """ - use PlausibleWeb, :live_view - - use Plausible.Funnel - - alias Plausible.{Goals, Funnels, Teams} - - def mount( - _params, - %{"site_id" => site_id, "domain" => domain}, - socket - ) do - socket = - socket - |> assign_new(:site, fn %{current_user: current_user} -> - Plausible.Sites.get_for_user!(current_user, domain, - roles: [ - :owner, - :admin, - :editor, - :super_admin - ] - ) - end) - |> assign_new(:all_funnels, fn %{site: %{id: ^site_id} = site} -> - Funnels.list(site) - end) - |> assign_new(:goal_count, fn %{site: site} -> - Goals.count(site) - end) - - {:ok, - assign(socket, - site_team: Teams.with_subscription(socket.assigns.site.team), - domain: domain, - displayed_funnels: socket.assigns.all_funnels, - setup_funnel?: false, - filter_text: "", - funnel_id: nil - )} - end - - # Flash sharing with live views within dead views can be done via re-rendering the flash partial. - # Normally, we'd have to use live_patch which we can't do with views unmounted at the router it seems. - def render(assigns) do - ~H""" -
- <.flash_messages flash={@flash} /> - - <.tile - docs="funnel-analysis" - feature_mod={Plausible.Billing.Feature.Funnels} - feature_toggle?={true} - show_content?={!Plausible.Billing.Feature.Funnels.opted_out?(@site)} - site={@site} - current_user={@current_user} - current_team={@site_team} - > - <:title> - Funnels - - <:subtitle :if={Enum.count(@all_funnels) > 0}> - Compose goals into funnels to track user flows and conversion rates. - - <%= if @setup_funnel? do %> - {live_render( - @socket, - PlausibleWeb.Live.FunnelSettings.Form, - id: "funnels-form", - session: %{ - "domain" => @domain, - "funnel_id" => @funnel_id - } - )} - <% end %> -
= Funnel.min_steps()}> - <.live_component - module={PlausibleWeb.Live.FunnelSettings.List} - id="funnels-list" - funnels={@displayed_funnels} - filter_text={@filter_text} - /> -
- -
-

- Ready to dig into user flows? -

-

- Set up a few goals like <.highlighted>Signup, <.highlighted>Visit /, or - <.highlighted>Scroll 50% on /blog/* - first, then return here to build your first funnel. -

- <.button_link - class="mt-4" - href={PlausibleWeb.Router.Helpers.site_path(@socket, :settings_goals, @domain)} - > - Set up goals → - -
- -
- """ - end - - def handle_event("reset-filter-text", _params, socket) do - {:noreply, assign(socket, filter_text: "", displayed_funnels: socket.assigns.all_funnels)} - end - - def handle_event("filter", %{"filter-text" => filter_text}, socket) do - new_list = - PlausibleWeb.Live.Components.ComboBox.StaticSearch.suggest( - filter_text, - socket.assigns.all_funnels, - to_string: & &1.name - ) - - {:noreply, assign(socket, displayed_funnels: new_list, filter_text: filter_text)} - end - - def handle_event("add-funnel", _value, socket) do - {:noreply, assign(socket, setup_funnel?: true)} - end - - def handle_event("edit-funnel", %{"funnel-id" => id}, socket) do - {:noreply, assign(socket, setup_funnel?: true, funnel_id: String.to_integer(id))} - end - - def handle_event("delete-funnel", %{"funnel-id" => id}, socket) do - site = - Plausible.Sites.get_for_user!( - socket.assigns.current_user, - socket.assigns.domain, - roles: [:owner, :admin, :editor] - ) - - id = String.to_integer(id) - :ok = Funnels.delete(site, id) - socket = put_live_flash(socket, :success, "Funnel deleted successfully") - - {:noreply, - assign(socket, - all_funnels: Enum.reject(socket.assigns.all_funnels, &(&1.id == id)), - displayed_funnels: Enum.reject(socket.assigns.displayed_funnels, &(&1.id == id)) - )} - end - - def handle_info({:funnel_saved, _funnel}, socket) do - socket = put_live_flash(socket, :success, "Funnel saved successfully") - - funnels = Funnels.list(socket.assigns.site) - - {:noreply, - assign(socket, - setup_funnel?: false, - all_funnels: funnels, - funnel_id: nil, - displayed_funnels: funnels - )} - end - - def handle_info(:cancel_setup_funnel, socket) do - {:noreply, assign(socket, setup_funnel?: false, funnel_id: nil)} - end - - def handle_info({:feature_toggled, flash_msg, updated_site}, socket) do - {:noreply, assign(put_flash(socket, :success, flash_msg), site: updated_site)} - end -end diff --git a/extra/lib/plausible_web/live/funnel_settings/form.ex b/extra/lib/plausible_web/live/funnel_settings/form.ex deleted file mode 100644 index f7d8740af6124c5fdd40db02dc8e090e183ce2a8..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/funnel_settings/form.ex +++ /dev/null @@ -1,484 +0,0 @@ -defmodule PlausibleWeb.Live.FunnelSettings.Form do - @moduledoc """ - Phoenix LiveComponent that renders a form used for setting up funnels. - Makes use of dynamically placed `PlausibleWeb.Live.FunnelSettings.ComboBox` components - to allow building searchable funnel definitions out of list of goals available. - """ - - use PlausibleWeb, :live_view - use Plausible.Funnel - - import PlausibleWeb.Live.Components.Form - alias Plausible.{Goals, Funnels} - alias Plausible.Stats.QueryBuilder - - def mount(_params, %{"domain" => domain} = session, socket) do - site = - Plausible.Sites.get_for_user!(socket.assigns.current_user, domain, - roles: [ - :owner, - :admin, - :editor, - :super_admin - ] - ) - - # We'll have the options trimmed to only the data we care about, to keep - # it minimal at the socket assigns, yet, we want to retain specific %Goal{} - # fields, so that `String.Chars` protocol and `Funnels.ephemeral_definition/3` - # are applicable downstream. - goals = - site - |> Goals.for_site() - |> Enum.map(fn goal -> - {goal.id, - struct!( - Plausible.Goal, - Map.take(goal, [:id, :display_name, :event_name, :page_path, :currency]) - )} - end) - - socket = - socket - |> assign(goals: goals, site: site, evaluation_result: nil) - |> prepare_socket(site, session["funnel_id"]) - - {:ok, socket} - end - - def render(assigns) do - ~H""" -
-
-
-
-
- <.form - :let={f} - for={@form} - phx-change="validate" - phx-submit="save" - phx-target="#funnel-form" - phx-click-away="cancel-add-funnel" - onkeydown="return event.key != 'Enter';" - class="bg-white dark:bg-gray-900 shadow-2xl rounded-lg px-8 pt-6 pb-8 mb-4 mt-8" - > - <.title class="mb-6"> - {if @funnel, do: "Edit", else: "Add"} funnel - - - <.input - field={f[:name]} - phx-debounce={200} - autocomplete="off" - placeholder="e.g. From Blog to Purchase" - autofocus - label="Funnel name" - /> - -
- - Allow other activity between funnel steps - -
- <.toggle_switch - id="toggle-strict-order" - id_suffix="switch" - checked={!@strict_order?} - phx-click="toggle-strict-order" - /> -
-
- -
- <.label> - Funnel steps - - -
-
- <.live_component - selected={find_preselected(@funnel, @funnel_modified?, step_idx)} - submit_name={"funnel[steps][#{step_idx}][goal_id]"} - module={PlausibleWeb.Live.Components.ComboBox} - suggest_fun={&PlausibleWeb.Live.Components.ComboBox.StaticSearch.suggest/2} - on_selection_made={ - fn value, by_id -> - send(self(), {:selection_made, %{submit_value: value, by: by_id}}) - end - } - id={"step-#{step_idx}"} - options={reject_already_selected(@goals, @selections_made)} - /> -
- -
- <.remove_step_button - :if={length(@step_ids) > Funnel.min_steps()} - step_idx={step_idx} - /> -
- -
- <.evaluation - :if={@evaluation_result} - result={@evaluation_result} - at={Enum.find_index(@step_ids, &(&1 == step_idx))} - /> -
-
- -
- <.add_step_button :if={ - length(@step_ids) < Funnel.max_steps() and - map_size(@selections_made) < length(@goals) - } /> -

- <%= if @evaluation_result do %> - Last month conversion rate: <%= List.last(@evaluation_result.steps).conversion_rate %>% - <% end %> -

-
- - <.button - id="save" - type="submit" - class="w-full" - disabled={ - has_steps_errors?(f) or map_size(@selections_made) < Funnel.min_steps() or - length(@step_ids) > map_size(@selections_made) - } - > - {if @funnel, do: "Update", else: "Add"} funnel - -
- -
-
-
- """ - end - - attr(:step_idx, :integer, required: true) - - def remove_step_button(assigns) do - ~H""" -
- - - - - - - -
- """ - end - - def add_step_button(assigns) do - ~H""" - - + Add another step - - """ - end - - attr(:at, :integer, required: true) - attr(:result, :map, required: true) - - def evaluation(assigns) do - ~H""" - - <% step = Enum.at(@result.steps, @at) %> - - - <%= PlausibleWeb.StatsView.large_number_format(@result.entering_visitors) %> - - - 0}> - <%= Map.get(step, :dropoff_percentage) %>% - - - """ - end - - def handle_event("add-step", _value, socket) do - step_ids = socket.assigns.step_ids - - socket = assign(socket, funnel_modified?: true) - - if length(step_ids) < Funnel.max_steps() do - first_free_idx = find_sequence_break(step_ids) - new_ids = step_ids ++ [first_free_idx] - {:noreply, assign(socket, step_ids: new_ids)} - else - {:noreply, socket} - end - end - - def handle_event("remove-step", %{"step-idx" => idx}, socket) do - idx = String.to_integer(idx) - step_ids = List.delete(socket.assigns.step_ids, idx) - selections_made = drop_selection(socket.assigns.selections_made, idx) - - send(self(), :evaluate_funnel) - - {:noreply, - assign(socket, step_ids: step_ids, selections_made: selections_made, funnel_modified?: true)} - end - - def handle_event("toggle-strict-order", _params, socket) do - strict_order? = !socket.assigns.strict_order? - send(self(), :evaluate_funnel) - - {:noreply, assign(socket, strict_order?: strict_order?)} - end - - def handle_event("validate", %{"funnel" => params}, socket) do - strict_order? = socket.assigns.strict_order? - - steps_from_assigns = - socket.assigns.step_ids - |> Enum.reduce([], fn step_id, acc -> - goal = Map.get(socket.assigns.selections_made, "step-#{step_id}") - if goal, do: [%{"goal_id" => goal.id} | acc], else: acc - end) - |> Enum.reverse() - - changeset = - socket.assigns.site - |> Funnels.create_changeset( - params["name"], - steps_from_assigns, - strict_order?: strict_order? - ) - |> Map.put(:action, :validate) - - {:noreply, assign(socket, form: to_form(changeset))} - end - - def handle_event( - "save", - %{"funnel" => params}, - %{assigns: %{site: site, funnel: funnel, strict_order?: strict_order?}} = socket - ) do - steps = Enum.map(params["steps"], fn {_idx, payload} -> payload end) - - save_fn = - case funnel do - %Plausible.Funnel{} -> - fn -> Funnels.update(funnel, params["name"], steps, strict_order?: strict_order?) end - - nil -> - fn -> Funnels.create(site, params["name"], steps, strict_order?: strict_order?) end - end - - case save_fn.() do - {:ok, funnel} -> - send( - socket.parent_pid, - {:funnel_saved, Map.put(funnel, :steps_count, length(steps))} - ) - - {:noreply, socket} - - {:error, changeset} -> - {:noreply, - assign(socket, - form: to_form(Map.put(changeset, :action, :validate)) - )} - end - end - - def handle_event("cancel-add-funnel", _value, socket) do - send(socket.parent_pid, :cancel_setup_funnel) - {:noreply, socket} - end - - def handle_info({:selection_made, %{submit_value: goal_id, by: combo_box}}, socket) do - selections_made = store_selection(socket.assigns, combo_box, goal_id) - - send(self(), :evaluate_funnel) - - {:noreply, - assign(socket, - selections_made: selections_made - )} - end - - def handle_info(:evaluate_funnel, socket) do - {:noreply, evaluate_funnel(socket)} - end - - defp evaluate_funnel(%{assigns: %{selections_made: selections_made}} = socket) - when map_size(selections_made) < Funnel.min_steps() do - socket - end - - defp evaluate_funnel( - %{ - assigns: %{ - site: site, - selections_made: selections_made, - strict_order?: strict_order? - } - } = socket - ) do - with {:ok, {definition, query}} <- - build_ephemeral_funnel(site, selections_made, strict_order?: strict_order?), - {:ok, funnel} <- Plausible.Stats.funnel(site, query, definition) do - assign(socket, evaluation_result: funnel) - else - _ -> - socket - end - end - - defp build_ephemeral_funnel(site, selections_made, opts) do - steps = - selections_made - |> Enum.sort_by(&elem(&1, 0)) - |> Enum.map(fn {_, goal} -> - %{ - "goal_id" => goal.id, - "goal" => %{ - "id" => goal.id, - "event_name" => goal.event_name, - "page_path" => goal.page_path - } - } - end) - - definition = - Funnels.ephemeral_definition( - site, - "Test funnel", - steps, - opts - ) - - query = - QueryBuilder.build!(site, - metrics: [:pageviews], - input_date_range: :month - ) - - {:ok, {definition, query}} - end - - defp find_sequence_break(input) do - input - |> Enum.sort() - |> Enum.with_index(1) - |> Enum.reduce_while(nil, fn {x, order}, _ -> - if x != order do - {:halt, order} - else - {:cont, order + 1} - end - end) - end - - defp has_steps_errors?(f) do - not f.source.valid? - end - - defp get_goal(assigns, id) do - assigns - |> Map.fetch!(:goals) - |> Enum.find_value(fn - {goal_id, goal} when goal_id == id -> goal - _ -> nil - end) - end - - defp store_selection(assigns, combo_box, goal_id) do - Map.put(assigns.selections_made, combo_box, get_goal(assigns, goal_id)) - end - - defp drop_selection(selections_made, step_idx) do - step_input_id = "step-#{step_idx}" - Map.delete(selections_made, step_input_id) - end - - defp reject_already_selected(goals, selections_made) do - selection_ids = - Enum.map(selections_made, fn - {_, %{id: goal_id}} -> goal_id - end) - - Enum.reject(goals, fn {goal_id, _} -> goal_id in selection_ids end) - end - - defp find_preselected(%Funnel{} = funnel, false, idx) do - if step = Enum.at(funnel.steps, idx - 1) do - {step.goal.id, to_string(step.goal)} - end - end - - defp find_preselected(_, _, _), do: nil - - defp prepare_socket(socket, site, funnel_id) when is_integer(funnel_id) do - funnel = Funnels.get(site.id, funnel_id) - - form = - funnel - |> Funnels.edit_changeset( - funnel.name, - Enum.map(funnel.steps, &%{goal_id: &1.goal.id}), - strict_order?: funnel.strict_order - ) - |> to_form() - - selections_made = - Enum.reduce(Enum.with_index(funnel.steps, 1), %{}, fn {step, idx}, acc -> - Map.put(acc, "step-#{idx}", step.goal) - end) - - socket = - assign( - socket, - form: form, - funnel: funnel, - strict_order?: funnel.strict_order, - funnel_modified?: false, - selections_made: selections_made, - step_ids: Enum.to_list(1..Enum.count(funnel.steps)) - ) - - evaluate_funnel(socket) - end - - defp prepare_socket(socket, site, nil) do - form = to_form(Funnels.create_changeset(site, "", [])) - - assign( - socket, - form: form, - funnel: nil, - strict_order?: false, - funnel_modified?: false, - selections_made: Map.new(), - step_ids: Enum.to_list(1..Funnel.min_steps()) - ) - end -end diff --git a/extra/lib/plausible_web/live/funnel_settings/list.ex b/extra/lib/plausible_web/live/funnel_settings/list.ex deleted file mode 100644 index 0e52c5ce313e9398180f1baf929674b16df23f9a..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/funnel_settings/list.ex +++ /dev/null @@ -1,89 +0,0 @@ -defmodule PlausibleWeb.Live.FunnelSettings.List do - @moduledoc """ - Phoenix LiveComponent module that renders a list of funnels with their names - and the number of steps they have. - - Each funnel is displayed with a delete button, which triggers a confirmation - message before deleting the funnel from the UI. If there are no funnels - configured for the site, a message is displayed indicating so. - """ - use PlausibleWeb, :live_component - - def render(assigns) do - assigns = assign(assigns, :searching?, String.trim(assigns.filter_text) != "") - - ~H""" -
- <%= if @searching? or Enum.count(@funnels) > 0 do %> - <.filter_bar filter_text={@filter_text} placeholder="Search Funnels"> - <.button id="add-funnel-button" phx-click="add-funnel" mt?={false}> - Add funnel - - - <% end %> - - <%= if Enum.count(@funnels) > 0 do %> - <.table rows={@funnels}> - <:tbody :let={funnel}> - <.td truncate> - {funnel.name} - - <.td hide_on_mobile> - - {funnel.steps_count}-step funnel - - - <.td actions> - <.edit_button phx-click="edit-funnel" phx-value-funnel-id={funnel.id} /> - <.delete_button - id={"delete-funnel-#{funnel.id}"} - phx-click="delete-funnel" - phx-value-funnel-id={funnel.id} - class="text-sm text-red-600" - data-confirm={"Are you sure you want to remove funnel '#{funnel.name}'? This will just affect the UI, all of your analytics data will stay intact."} - /> - - - - <% else %> - <.no_search_results :if={@searching?} /> - <.empty_state :if={not @searching?} /> - <% end %> -
- """ - end - - defp no_search_results(assigns) do - ~H""" -

- No funnels found for this site. Please refine or - <.styled_link phx-click="reset-filter-text" id="reset-filter-hint"> - reset your search. - -

- """ - end - - defp empty_state(assigns) do - ~H""" -
-

- Create your first funnel -

-

- Compose goals into funnels to track user flows and conversion rates. - <.styled_link href="https://plausible.io/docs/funnel-analysis" target="_blank"> - Learn more - -

- <.button - id="add-funnel-button" - phx-click="add-funnel" - class="mt-4" - > - Add funnel - -
- """ - end -end diff --git a/extra/lib/plausible_web/live/sso_management.ex b/extra/lib/plausible_web/live/sso_management.ex deleted file mode 100644 index 2f57dde32c242f85871a9aa40203b269e7ab45ff..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/sso_management.ex +++ /dev/null @@ -1,740 +0,0 @@ -defmodule PlausibleWeb.Live.SSOManagement do - @moduledoc """ - Live view for SSO setup and management. - """ - use PlausibleWeb, :live_view - - alias Plausible.Auth.SSO - alias Plausible.Teams - - alias PlausibleWeb.Router.Helpers, as: Routes - use Plausible.Auth.SSO.Domain.Status - - @refresh_integration_interval :timer.seconds(5) - - def mount(_params, _session, socket) do - socket = load_integration(socket, socket.assigns.current_team) - - if connected?(socket) do - Process.send_after(self(), :refresh_integration, @refresh_integration_interval) - end - - {:ok, route_mode(socket)} - end - - def render(assigns) do - ~H""" - <.flash_messages flash={@flash} /> - - <.tile - :if={@mode != :manage} - docs={if @mode in [:domain_setup, :domain_verify], do: "sso#sso-domains", else: "sso"} - > - <:title> - Single Sign-On - - <:subtitle> - Configure and manage Single Sign-On for your team. - - - <.init_view :if={@mode == :init} current_team={@current_team} /> - - <.init_setup_view - :if={@mode == :init_setup} - integration={@integration} - current_team={@current_team} - /> - - <.idp_form_view - :if={@mode == :idp_form} - integration={@integration} - config_changeset={@config_changeset} - /> - - <.domain_setup_view - :if={@mode == :domain_setup} - integration={@integration} - domain_changeset={@domain_changeset} - /> - - <.domain_verify_view :if={@mode == :domain_verify} domain={@domain} /> - - - <.manage_view - :if={@mode == :manage} - integration={@integration} - current_team={@current_team} - can_toggle_force_sso?={@can_toggle_force_sso?} - force_sso_warning={@force_sso_warning} - policy_changeset={@policy_changeset} - role_options={@role_options} - domain_delete_checks={@domain_delete_checks} - /> - """ - end - - def init_view(assigns) do - ~H""" -
-

- Single Sign-On (SSO) enables team members to sign in without having to register an account. For more details, <.styled_link href="https://plausible.io/docs/sso">see our documentation. -

- - <.button type="submit">Start Configuring SSO -
- """ - end - - def init_setup_view(assigns) do - ~H""" -
-

- Use the following parameters when configuring your Identity Provider of choice: -

- - <.input_with_clipboard - id="sp-acs-url" - name="sp-acs-url" - label="ACS URL / Single Sign-On URL / Reply URL" - value={saml_acs_url(@integration)} - /> - - <.form id="sso-sp-config" for={} class="flex-col space-y-4"> - <.input_with_clipboard - id="sp-entity-id" - name="sp-entity-id" - label="Entity ID / Audience URI / Identifier" - value={SSO.SAMLConfig.entity_id(@integration)} - /> - - -
-

Following attribute mappings must be set up at Identity Provider:

- -
    -
  • - {param} -
  • -
-
- -
-

Click below to start setting up Single Sign-On for your team.

- - <.button type="submit">Start Configuring -
-
- """ - end - - def idp_form_view(assigns) do - ~H""" -
-

- Enter configuration details of Identity Provider after configuring it: -

- - <.form - :let={f} - id="sso-idp-config" - for={@config_changeset} - class="flex-col space-y-4" - phx-submit="update-integration" - > - <.input - field={f[:idp_signin_url]} - label="SSO URL / Sign-on URL / Login URL" - placeholder="" - /> - - <.input - field={f[:idp_entity_id]} - label="Entity ID / Issuer / Identifier" - placeholder="" - /> - - <.input field={f[:idp_cert_pem]} type="textarea" label="Signing Certificate in PEM format" /> - - <.button type="submit">Save - -
- """ - end - - def domain_setup_view(assigns) do - ~H""" -
-

- In order for Single Sign-On to work, you have to allow at least one email address domain: -

- - <.form - :let={f} - id="sso-add-domain" - for={@domain_changeset} - class="flex-col space-y-4" - phx-submit="add-domain" - > - <.input field={f[:domain]} label="Domain" placeholder="example.com" /> - - <.button type="submit">Add Domain - -
- """ - end - - def domain_verify_view(assigns) do - ~H""" -
-

Verifying domain {@domain.domain}

- -

You can verify ownership of the domain using one of 3 methods:

- -
    -
  • - <.input_with_clipboard - name="verification-dns-txt" - label={"Add a TXT record to #{@domain.domain} domain with the following value"} - id="verification-dns-txt" - value={"plausible-sso-verification=#{@domain.identifier}"} - /> -
  • -
  • - <.input_with_clipboard - name="verification-url" - label={"Publish a file or route at https://#{@domain.domain}/plausible-sso-verification rendering the following contents"} - id="verification-url" - value={@domain.identifier} - /> -
  • -
  • - <.input_with_clipboard - name="verification-meta-tag" - label={"Add a following META tag to the web page at https://#{@domain.domain}"} - id="verification-meta-tag" - value={~s||} - /> -
  • -
- - <.notice> - We'll keep checking your domain ownership. Once any of the above verification methods succeeds, we'll send you an e-mail. Thank you for your patience. - - -
- <.input type="hidden" name="identifier" value={@domain.identifier} /> - <.button - :if={@domain.status in [Status.in_progress(), Status.unverified(), Status.verified()]} - type="submit" - > - Run Verification Now - - - <.button :if={@domain.status == Status.pending()} type="submit">Continue -
-
- """ - end - - def manage_view(assigns) do - ~H""" - <.tile docs="sso"> - <:title> - Single Sign-On - - <:subtitle> - Configure and manage Single Sign-On for your team. - - -
-

- Use the following parameters when configuring your Identity Provider of choice: -

- -
- <.input_with_clipboard - id="sp-acs-url" - name="sp-acs-url" - label="ACS URL / Single Sign-On URL / Reply URL" - value={saml_acs_url(@integration)} - /> - - <.input_with_clipboard - id="sp-entity-id" - name="sp-entity-id" - label="Entity ID / Audience URI / Identifier" - value={SSO.SAMLConfig.entity_id(@integration)} - /> -
- -
-

Following attribute mappings must be setup at Identity Provider:

- -
    -
  • - {param} -
  • -
-
- -
-

- Current Identity Provider configuration: -

- - <.form :let={f} id="sso-idp-config" for={} class="flex-col space-y-4"> - <.input - field={f[:idp_signin_url]} - value={@integration.config.idp_signin_url} - label="SSO URL / Sign-on URL / Login URL" - readonly={true} - /> - - <.input - field={f[:idp_entity_id]} - value={@integration.config.idp_entity_id} - label="Entity ID / Issuer / Identifier" - readonly={true} - /> - - <.input - field={f[:idp_cert_pem]} - type="textarea" - label="Signing Certificate in PEM format" - value={@integration.config.idp_cert_pem} - readonly={true} - /> - - -
- <.button type="submit">Edit -
-
-
- - - <.tile docs="sso#sso-domains"> - <:title> - SSO Domains - - <:subtitle> - Email domains accepted from Identity Provider - -
- <.table rows={@integration.sso_domains}> - <:thead> - <.th>Domain - <.th hide_on_mobile>Added at - <.th>Status - <.th invisible>Actions - - <:tbody :let={domain}> - <.td>{domain.domain} - <.td hide_on_mobile> - {Calendar.strftime(domain.inserted_at, "%b %-d, %Y at %H:%m UTC")} - - <.td :if={domain.status != Status.in_progress()}>{domain.status} - <.td :if={domain.status == Status.in_progress()}> -
- <.spinner class="w-4 h-4" /> - <.styled_link - id={"cancel-verify-domain-#{domain.identifier}"} - phx-click="cancel-verify-domain" - phx-value-identifier={domain.identifier} - > - Cancel - -
- - <.td actions> - <.styled_link - :if={domain.status not in [Status.in_progress(), Status.verified()]} - id={"verify-domain-#{domain.identifier}"} - phx-click="verify-domain" - phx-value-identifier={domain.identifier} - > - Verify - - - <.delete_button - :if={is_nil(@domain_delete_checks[domain.identifier])} - id={"remove-domain-#{domain.identifier}"} - phx-click="remove-domain" - phx-value-identifier={domain.identifier} - class="text-sm text-red-600" - data-confirm={"Are you sure you want to remove domain '#{domain.domain}'?"} - /> - - <.delete_button - :if={@domain_delete_checks[domain.identifier]} - id={"disabled-remove-domain-#{domain.identifier}"} - class="text-sm text-red-600" - data-confirm={"You cannot delete this domain. #{@domain_delete_checks[domain.identifier]}"} - /> - - - - -
- <.button type="submit">Add Domain -
-
- - - <.tile docs="sso#sso-policy"> - <:title> - SSO Policy - - <:subtitle> - Adjust your SSO policy configuration - -
-

Enforce Single Sign-On for the whole team, except Owners:

- - <.tooltip enabled?={not @can_toggle_force_sso?}> - <:tooltip_content> -
- To get access to this feature, {@force_sso_warning}. -
- -
- - - Force Single Sign-On - -
- -
- -
- <.form - :let={f} - id="sso-policy" - for={@policy_changeset} - class="flex-col space-y-4" - phx-submit="update-policy" - > - <.input - field={f[:sso_default_role]} - label="Default role" - type="select" - options={@role_options} - /> - - <.input - field={f[:sso_session_timeout_minutes]} - label="Session timeout (minutes)" - type="number" - /> - - <.button type="submit">Update - -
- - """ - end - - def handle_event("init-sso", _params, socket) do - team = socket.assigns.current_team - integration = SSO.initiate_saml_integration(team) - - socket = - socket - |> assign(:integration, integration) - |> load_integration(team) - |> route_mode() - - {:noreply, socket} - end - - def handle_event("show-idp-form", _params, socket) do - {:noreply, route_mode(socket, :idp_form)} - end - - def handle_event("update-integration", params, socket) do - socket = - case SSO.update_integration(socket.assigns.integration, params["saml_config"] || %{}) do - {:ok, integration} -> - socket - |> assign(:integration, integration) - |> load_integration(socket.assigns.current_team) - |> route_mode() - - {:error, changeset} -> - assign(socket, :config_changeset, changeset) - end - - {:noreply, socket} - end - - def handle_event("add-domain", params, socket) do - integration = socket.assigns.integration - - socket = - case SSO.Domains.add(integration, params["domain"]["domain"] || "") do - {:ok, sso_domain} -> - socket - |> load_integration(socket.assigns.current_team) - |> assign(:domain, sso_domain) - |> route_mode(:domain_verify) - - {:error, changeset} -> - socket - |> assign(:domain_changeset, changeset) - end - - {:noreply, socket} - end - - def handle_event("verify-domain-submit", params, socket) do - integration = socket.assigns.integration - sso_domain = Enum.find(integration.sso_domains, &(&1.identifier == params["identifier"])) - - if sso_domain do - SSO.Domains.start_verification(sso_domain.domain) - {:noreply, route_mode(load_integration(socket, socket.assigns.current_team), :manage)} - else - {:noreply, socket} - end - end - - def handle_event("show-domain-setup", _params, socket) do - {:noreply, route_mode(socket, :domain_setup)} - end - - def handle_event("verify-domain", params, socket) do - integration = socket.assigns.integration - domain = Enum.find(integration.sso_domains, &(&1.identifier == params["identifier"])) - - if domain do - socket = - socket - |> load_integration(socket.assigns.current_team) - |> assign(:domain, domain) - |> route_mode(:domain_verify) - - {:noreply, socket} - else - {:noreply, route_mode(socket, :manage)} - end - end - - def handle_event("cancel-verify-domain", params, socket) do - integration = socket.assigns.integration - domain = Enum.find(integration.sso_domains, &(&1.identifier == params["identifier"])) - - socket = - if domain do - :ok = SSO.Domains.cancel_verification(domain.domain) - load_integration(socket, socket.assigns.current_team) - else - socket - end - - {:noreply, socket} - end - - def handle_event("remove-domain", params, socket) do - integration = socket.assigns.integration - domain = Enum.find(integration.sso_domains, &(&1.identifier == params["identifier"])) - - if domain do - socket = - case SSO.Domains.remove(domain) do - :ok -> - socket - |> load_integration(socket.assigns.current_team) - |> route_mode() - - {:error, :force_sso_enabled} -> - socket - - {:error, :sso_users_present} -> - socket - end - - {:noreply, socket} - else - {:noreply, route_mode(socket, :manage)} - end - end - - def handle_event("toggle-force-sso", _params, socket) do - team = socket.assigns.current_team - new_toggle = if team.policy.force_sso == :none, do: :all_but_owners, else: :none - - case SSO.set_force_sso(socket.assigns.current_team, new_toggle) do - {:ok, team} -> - socket = - socket - |> assign(:current_team, team) - - {:noreply, socket} - - {:error, _} -> - {:noreply, route_mode(socket, :manage)} - end - end - - def handle_event("update-policy", params, socket) do - team = socket.assigns.current_team - params = params["policy"] - - attrs = [ - sso_default_role: params["sso_default_role"], - sso_session_timeout_minutes: params["sso_session_timeout_minutes"] - ] - - socket = - case SSO.update_policy(team, attrs) do - {:ok, team} -> - policy_changeset = Teams.Policy.update_changeset(team.policy, %{}) - - socket - |> assign(:current_team, team) - |> assign(:policy_changeset, policy_changeset) - - {:error, changeset} -> - socket - |> assign(:policy_changeset, changeset) - end - - {:noreply, socket} - end - - def handle_info(:refresh_integration, socket) do - Process.send_after(self(), :refresh_integration, @refresh_integration_interval) - {:noreply, load_integration(socket, socket.assigns.current_team)} - end - - defp load_integration(socket, team) do - integration = - case SSO.get_integration_for(team) do - {:ok, integration} -> integration - {:error, :not_found} -> nil - end - - assign(socket, :integration, integration) - end - - defp route_mode(socket, force_mode \\ nil) do - integration = socket.assigns.integration - - mode = - cond do - force_mode -> - force_mode - - is_nil(integration) -> - :init - - not SSO.Integration.configured?(integration) -> - :init_setup - - integration.sso_domains == [] -> - :domain_setup - - true -> - :manage - end - - socket - |> assign(:mode, mode) - |> load(mode) - end - - defp load(socket, :idp_form) do - assign( - socket, - :config_changeset, - SSO.SAMLConfig.changeset(socket.assigns.integration.config, %{}) - ) - end - - defp load(socket, :domain_setup) do - assign(socket, :domain_changeset, SSO.Domain.create_changeset(socket.assigns.integration, "")) - end - - defp load(socket, :manage) do - team = socket.assigns.current_team - toggle_mode = if team.policy.force_sso == :none, do: :all_but_owners, else: :none - - {can_toggle_force_sso?, toggle_disabled_reason} = - case {SSO.check_force_sso(team, toggle_mode), socket.assigns.current_user.type} do - {:ok, :sso} -> - {true, nil} - - {:ok, :standard} -> - {false, "you must be logged in via SSO"} - - {{:error, :no_integration}, _} -> - {false, "you must first setup Single Sign-On"} - - {{:error, :no_domain}, _} -> - {false, "you must add a domain"} - - {{:error, :no_verified_domain}, _} -> - {false, "you must verify a domain"} - - {{:error, :owner_2fa_disabled}, _} -> - {false, "all Owners must have 2FA enabled"} - - {{:error, :no_sso_user}, _} -> - {false, "at least one SSO user must log in successfully"} - end - - policy_changeset = Teams.Policy.update_changeset(team.policy, %{}) - - role_options = - Enum.map(Teams.Policy.sso_member_roles(), fn role -> - {String.capitalize(to_string(role)), role} - end) - |> Enum.sort() - - domain_delete_checks = - Enum.into(socket.assigns.integration.sso_domains, %{}, fn domain -> - prevent_delete_reason = - case Plausible.Auth.SSO.Domains.check_can_remove(domain) do - :ok -> nil - {:error, :force_sso_enabled} -> "You must disable 'Force SSO' first." - {:error, :sso_users_present} -> "There are existing SSO accounts on this domain." - end - - {domain.identifier, prevent_delete_reason} - end) - - socket - |> assign(:domain_delete_checks, domain_delete_checks) - |> assign(:can_toggle_force_sso?, can_toggle_force_sso?) - |> assign(:force_sso_warning, toggle_disabled_reason) - |> assign(:policy_changeset, policy_changeset) - |> assign(:role_options, role_options) - end - - defp load(socket, _) do - socket - end - - defp saml_acs_url(integration) do - Routes.sso_url( - PlausibleWeb.Endpoint, - :saml_consume, - integration.identifier - ) - end -end diff --git a/extra/lib/plausible_web/live/verification.ex b/extra/lib/plausible_web/live/verification.ex deleted file mode 100644 index 0fc148d3a2b0981411e086485f1dab894d3589d1..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/live/verification.ex +++ /dev/null @@ -1,288 +0,0 @@ -defmodule PlausibleWeb.Live.Verification do - @moduledoc """ - LiveView coordinating the site verification process. - Onboarding new sites, renders a standalone component. - Embedded modal variant is available for general site settings. - """ - use PlausibleWeb, :live_view - - import PlausibleWeb.Components.Generic - - alias Plausible.InstallationSupport.{State, Verification} - - @component PlausibleWeb.Live.Components.Verification - @slowdown_for_frequent_checking :timer.seconds(5) - - def mount( - %{"domain" => domain} = params, - _session, - socket - ) do - current_user = socket.assigns.current_user - - site = - Plausible.Sites.get_for_user!(current_user, domain, - roles: [ - :owner, - :admin, - :editor, - :super_admin, - :viewer - ] - ) - - true = Plausible.Sites.regular?(site) - - private = Map.get(socket.private.connect_info, :private, %{}) - - super_admin? = Plausible.Auth.super_admin?(current_user) - has_pageviews? = has_pageviews?(site) - - custom_url_input? = params["custom_url"] == "true" - - socket = - assign(socket, - url_to_verify: nil, - site: site, - super_admin?: super_admin?, - domain: domain, - has_pageviews?: has_pageviews?, - component: @component, - installation_type: get_installation_type(params, site), - report_to: self(), - delay: private[:delay] || 500, - slowdown: private[:slowdown] || 500, - flow: params["flow"] || "", - checks_pid: nil, - attempts: 0, - polling_pageviews?: false, - custom_url_input?: custom_url_input? - ) - - if connected?(socket) and not custom_url_input? do - launch_delayed(socket) - end - - {:ok, socket} - end - - def render(assigns) do - ~H""" - - <.custom_url_form :if={@custom_url_input?} domain={@domain} /> - <.live_component - :if={not @custom_url_input?} - module={@component} - installation_type={@installation_type} - domain={@domain} - id="verification-standalone" - attempts={@attempts} - flow={@flow} - awaiting_first_pageview?={not @has_pageviews?} - super_admin?={@super_admin?} - /> - """ - end - - def handle_event("launch-verification", _, socket) do - launch_delayed(socket) - {:noreply, reset_component(socket)} - end - - def handle_event("retry", _, socket) do - launch_delayed(socket) - {:noreply, reset_component(socket)} - end - - def handle_event("verify-custom-url", %{"custom_url" => custom_url}, socket) do - socket = - socket - |> assign(url_to_verify: custom_url) - |> assign(custom_url_input?: false) - - launch_delayed(socket) - {:noreply, reset_component(socket)} - end - - def handle_info({:start, report_to}, socket) do - domain = socket.assigns.domain - checks_pid = socket.assigns.checks_pid - - if is_pid(checks_pid) and Process.alive?(checks_pid) do - {:noreply, socket} - else - case Plausible.RateLimit.check_rate( - "site_verification:#{domain}", - :timer.minutes(60), - 3 - ) do - {:allow, _} -> :ok - {:deny, _} -> :timer.sleep(@slowdown_for_frequent_checking) - end - - {:ok, pid} = - Verification.Checks.run( - socket.assigns.url_to_verify, - domain, - socket.assigns.installation_type, - report_to: report_to, - slowdown: socket.assigns.slowdown - ) - - {:noreply, assign(socket, checks_pid: pid, attempts: socket.assigns.attempts + 1)} - end - end - - def handle_info({:check_start, {check, state}}, socket) do - to_update = [message: check.report_progress_as()] - - to_update = - if is_binary(state.url) do - Keyword.put(to_update, :url_to_verify, state.url) - else - to_update - end - - update_component(socket, to_update) - - {:noreply, socket} - end - - def handle_info({:all_checks_done, %State{} = state}, socket) do - interpretation = Verification.Checks.interpret_diagnostics(state) - - if not socket.assigns.has_pageviews? do - schedule_pageviews_check(socket) - end - - update_component(socket, - finished?: true, - success?: interpretation.ok?, - interpretation: interpretation, - verification_state: state - ) - - {:noreply, assign(socket, checks_pid: nil)} - end - - def handle_info(:check_pageviews, socket) do - socket = - if has_pageviews?(socket.assigns.site) do - redirect_to_stats(socket) - else - socket - |> assign(polling_pageviews?: false) - |> schedule_pageviews_check() - end - - {:noreply, socket} - end - - @supported_installation_types_atoms PlausibleWeb.Tracker.supported_installation_types() - |> Enum.map(&String.to_atom/1) - defp get_installation_type(params, site) do - cond do - params["installation_type"] in PlausibleWeb.Tracker.supported_installation_types() -> - params["installation_type"] - - (saved_installation_type = get_saved_installation_type(site)) in @supported_installation_types_atoms -> - Atom.to_string(saved_installation_type) - - true -> - PlausibleWeb.Tracker.fallback_installation_type() - end - end - - defp get_saved_installation_type(site) do - case PlausibleWeb.Tracker.get_tracker_script_configuration(site) do - %{installation_type: installation_type} -> - installation_type - - _ -> - nil - end - end - - defp schedule_pageviews_check(socket) do - if socket.assigns.polling_pageviews? do - socket - else - Process.send_after(self(), :check_pageviews, socket.assigns.delay * 2) - assign(socket, polling_pageviews?: true) - end - end - - defp redirect_to_stats(socket) do - stats_url = Routes.stats_path(PlausibleWeb.Endpoint, :stats, socket.assigns.domain, []) - redirect(socket, to: stats_url) - end - - defp reset_component(socket) do - update_component(socket, - message: "We're visiting your site to ensure that everything is working", - finished?: false, - success?: false, - diagnostics: nil - ) - - socket - end - - defp update_component(_socket, updates) do - send_update( - @component, - Keyword.merge(updates, id: "verification-standalone") - ) - end - - defp launch_delayed(socket) do - Process.send_after(self(), {:start, socket.assigns.report_to}, socket.assigns.delay) - end - - defp has_pageviews?(site) do - Plausible.Stats.Clickhouse.has_pageviews?(site) - end - - defp custom_url_form(assigns) do - ~H""" - <.focus_box> -
- -
-
-

- Enter Your Custom URL -

-

- Please enter the URL where your website with the Plausible script is located. -

-
-
- - -
- -
-
- - """ - end -end diff --git a/extra/lib/plausible_web/plugins/api/controllers/funnels.ex b/extra/lib/plausible_web/plugins/api/controllers/funnels.ex deleted file mode 100644 index 93fb3da15181f6c7357f45d5c07d66c534198ddb..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/plugins/api/controllers/funnels.ex +++ /dev/null @@ -1,120 +0,0 @@ -defmodule PlausibleWeb.Plugins.API.Controllers.Funnels do - @moduledoc """ - Controller for the Funnel resource under Plugins API - """ - use PlausibleWeb, :plugins_api_controller - - operation(:create, - operation_id: "Funnel.GetOrCreate", - summary: "Get or create Funnel", - request_body: {"Funnel params", "application/json", Schemas.Funnel.CreateRequest}, - responses: %{ - created: {"Funnel", "application/json", Schemas.Funnel}, - unauthorized: {"Unauthorized", "application/json", Schemas.Unauthorized}, - payment_required: {"Payment required", "application/json", Schemas.PaymentRequired}, - unprocessable_entity: - {"Unprocessable entity", "application/json", Schemas.UnprocessableEntity} - } - ) - - def create( - %{private: %{open_api_spex: %{body_params: body_params}}} = conn, - _params - ) do - site = conn.assigns.authorized_site - - case Plausible.Plugins.API.Funnels.create(site, body_params) do - {:ok, funnel} -> - headers = [{"location", plugins_api_funnels_url(conn, :get, funnel.id)}] - - conn - |> prepend_resp_headers(headers) - |> put_view(Views.Funnel) - |> put_status(:created) - |> render("funnel.json", funnel: funnel, authorized_site: site) - - {:error, :upgrade_required} -> - payment_required(conn) - - {:error, changeset} -> - Errors.error(conn, 422, changeset) - end - end - - operation(:index, - summary: "Retrieve Funnels", - parameters: [ - limit: [in: :query, type: :integer, description: "Maximum entries per page", example: 10], - after: [ - in: :query, - type: :string, - description: "Cursor value to seek after - generated internally" - ], - before: [ - in: :query, - type: :string, - description: "Cursor value to seek before - generated internally" - ] - ], - responses: %{ - ok: {"Funnels response", "application/json", Schemas.Funnel.ListResponse}, - unauthorized: {"Unauthorized", "application/json", Schemas.Unauthorized} - } - ) - - @spec index(Plug.Conn.t(), %{}) :: Plug.Conn.t() - def index(conn, _params) do - {:ok, pagination} = API.Funnels.get_funnels(conn.assigns.authorized_site, conn.query_params) - - conn - |> put_view(Views.Funnel) - |> render("index.json", %{pagination: pagination}) - end - - operation(:get, - summary: "Retrieve Funnel by ID", - parameters: [ - id: [ - in: :path, - type: :integer, - description: "Funnel ID", - example: 123, - required: true - ] - ], - responses: %{ - ok: {"Goal", "application/json", Schemas.Funnel}, - not_found: {"NotFound", "application/json", Schemas.NotFound}, - unauthorized: {"Unauthorized", "application/json", Schemas.Unauthorized}, - unprocessable_entity: - {"Unprocessable entity", "application/json", Schemas.UnprocessableEntity} - } - ) - - @spec get(Plug.Conn.t(), map()) :: Plug.Conn.t() - def get(%{private: %{open_api_spex: %{params: %{id: id}}}} = conn, _params) do - site = conn.assigns.authorized_site - - case API.Funnels.get(site, id) do - nil -> - conn - |> put_view(Views.Error) - |> put_status(:not_found) - |> render("404.json") - - funnel -> - conn - |> put_view(Views.Funnel) - |> put_status(:ok) - |> render("funnel.json", funnel: funnel, authorized_site: site) - end - end - - defp payment_required(conn) do - Errors.error( - conn, - 402, - "#{Plausible.Billing.Feature.Funnels.display_name()} is part of the Plausible Business plan. To get access to this feature, please upgrade your account." - ) - end -end diff --git a/extra/lib/plausible_web/plugins/api/schemas/funnel.ex b/extra/lib/plausible_web/plugins/api/schemas/funnel.ex deleted file mode 100644 index bdd7b40f35c4596f197aa1d36ed52a85bd65dc94..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/plugins/api/schemas/funnel.ex +++ /dev/null @@ -1,55 +0,0 @@ -defmodule PlausibleWeb.Plugins.API.Schemas.Funnel do - @moduledoc """ - OpenAPI schema for Funnel - """ - use Plausible.Funnel.Const - use PlausibleWeb, :open_api_schema - - OpenApiSpex.schema(%{ - title: "Funnel", - description: "Funnel object", - type: :object, - properties: %{ - funnel: %Schema{ - type: :object, - required: [:id, :name, :steps], - properties: %{ - id: %Schema{type: :integer, description: "Funnel ID"}, - name: %Schema{type: :string, description: "Name"}, - steps: %Schema{ - description: "Funnel Steps", - type: :array, - minItems: 2, - maxItems: Funnel.Const.max_steps(), - items: Schemas.Goal - } - } - } - }, - example: %{ - funnel: %{ - id: 123, - name: "My Marketing Funnel", - steps: [ - %{ - goal_type: "Goal.Pageview", - goal: %{ - id: 1, - display_name: "Visit /product/1", - path: "/product/1" - } - }, - %{ - goal_type: "Goal.Revenue", - goal: %{ - id: 2, - display_name: "Purchase", - currency: "EUR", - event_name: "Purchase" - } - } - ] - } - } - }) -end diff --git a/extra/lib/plausible_web/plugins/api/schemas/funnel/create_request.ex b/extra/lib/plausible_web/plugins/api/schemas/funnel/create_request.ex deleted file mode 100644 index 8e1916e7ad4e31d7cf273386646c54aacd626ac7..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/plugins/api/schemas/funnel/create_request.ex +++ /dev/null @@ -1,56 +0,0 @@ -defmodule PlausibleWeb.Plugins.API.Schemas.Funnel.CreateRequest do - @moduledoc """ - OpenAPI schema for Funnel creation request - get or creates goals along the way - """ - use Plausible.Funnel.Const - use PlausibleWeb, :open_api_schema - - OpenApiSpex.schema(%{ - title: "Funnel.CreateRequest", - description: "Funnel creation params", - type: :object, - required: [:funnel], - properties: %{ - funnel: %Schema{ - type: :object, - required: [:steps, :name], - properties: %{ - steps: %Schema{ - description: "Funnel Steps", - type: :array, - minItems: 2, - maxItems: Funnel.Const.max_steps(), - items: %Schema{ - oneOf: [ - Schemas.Goal.CreateRequest.CustomEvent, - Schemas.Goal.CreateRequest.Revenue, - Schemas.Goal.CreateRequest.Pageview - ] - } - }, - name: %Schema{type: :string, description: "Funnel Name"} - } - } - }, - example: %{ - funnel: %{ - name: "My First Funnel", - steps: [ - %{ - goal_type: "Goal.Pageview", - goal: %{ - path: "/product/123" - } - }, - %{ - goal_type: "Goal.Revenue", - goal: %{ - currency: "EUR", - event_name: "Purchase" - } - } - ] - } - } - }) -end diff --git a/extra/lib/plausible_web/plugins/api/schemas/funnel/list_response.ex b/extra/lib/plausible_web/plugins/api/schemas/funnel/list_response.ex deleted file mode 100644 index 111aa9e621769a8482022b249e79787a1cbd26c5..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/plugins/api/schemas/funnel/list_response.ex +++ /dev/null @@ -1,26 +0,0 @@ -defmodule PlausibleWeb.Plugins.API.Schemas.Funnel.ListResponse do - @moduledoc """ - OpenAPI schema for Funnel list response - """ - use PlausibleWeb, :open_api_schema - - OpenApiSpex.schema(%{ - title: "Funnel.ListResponse", - description: "Funnels list response", - type: :object, - required: [:funnels, :meta], - properties: %{ - funnels: %Schema{ - items: Schemas.Funnel, - type: :array - }, - meta: %Schema{ - required: [:pagination], - type: :object, - properties: %{ - pagination: Schemas.PaginationMetadata - } - } - } - }) -end diff --git a/extra/lib/plausible_web/plugins/api/views/funnel.ex b/extra/lib/plausible_web/plugins/api/views/funnel.ex deleted file mode 100644 index 8ee9a67b55cae4620edace5b41b28a34e06a2958..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/plugins/api/views/funnel.ex +++ /dev/null @@ -1,53 +0,0 @@ -defmodule PlausibleWeb.Plugins.API.Views.Funnel do - @moduledoc """ - View for rendering Funnels in the Plugins API - """ - - use PlausibleWeb, :plugins_api_view - - def render("index.json", %{ - pagination: %{entries: funnels, metadata: metadata}, - authorized_site: site, - conn: conn - }) do - %{ - funnels: - render_many(funnels, __MODULE__, "funnel.json", authorized_site: site, as: :funnel), - meta: render_metadata_links(metadata, :plugins_api_funnels_url, :index, conn.query_params) - } - end - - def render("index.json", %{ - funnels: funnels, - authorized_site: site, - conn: conn - }) do - %{ - funnels: - render_many(funnels, __MODULE__, "funnel.json", authorized_site: site, as: :funnel), - meta: render_metadata_links(%{}, :plugins_api_funnels_url, :index, conn.query_params) - } - end - - def render( - "funnel.json", - %{ - funnel: funnel, - authorized_site: site - } - ) do - goals = Enum.map(funnel.steps, & &1.goal) - - %{ - funnel: %{ - name: funnel.name, - id: funnel.id, - steps: - render_many(goals, PlausibleWeb.Plugins.API.Views.Goal, "goal.json", - authorized_site: site, - as: :goal - ) - } - } - end -end diff --git a/extra/lib/plausible_web/plugs/handle_expired_session.ex b/extra/lib/plausible_web/plugs/handle_expired_session.ex deleted file mode 100644 index 230c5a9f1fc25f7133d45ef7d5353f455ff1e9d0..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/plugs/handle_expired_session.ex +++ /dev/null @@ -1,64 +0,0 @@ -defmodule Plausible.Plugs.HandleExpiredSession do - @moduledoc """ - Plug for handling expired session. Must be added after `AuthPlug`. - """ - - use Plausible - - import Plug.Conn - - alias PlausibleWeb.Router.Helpers, as: Routes - - def init(_) do - [] - end - - def call(conn, []) do - maybe_trigger_login(conn, conn.assigns[:expired_session]) - end - - defp maybe_trigger_login(conn, nil), do: conn - - defp maybe_trigger_login(conn, user_session) do - if Plausible.Users.type(user_session.user) == :sso do - Plausible.Auth.UserSessions.revoke_by_id(user_session.user, user_session.id) - trigger_sso_login(conn, user_session.user.email) - else - conn - end - end - - defp trigger_sso_login(%{method: "GET"} = conn, email) do - return_to = - if conn.query_string && String.length(conn.query_string) > 0 do - conn.request_path <> "?" <> conn.query_string - else - conn.request_path - end - - conn - |> Phoenix.Controller.redirect( - to: - Routes.sso_path(conn, :login_form, - prefer: "manual", - email: email, - autosubmit: true, - return_to: return_to - ) - ) - |> halt() - end - - defp trigger_sso_login(conn, email) do - conn - |> Phoenix.Controller.redirect( - to: - Routes.sso_path(conn, :login_form, - prefer: "manual", - email: email, - autosubmit: true - ) - ) - |> halt() - end -end diff --git a/extra/lib/plausible_web/plugs/secure_sso.ex b/extra/lib/plausible_web/plugs/secure_sso.ex deleted file mode 100644 index 39d30b20dd4387a898b721b072b9e6205d5ca3fe..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/plugs/secure_sso.ex +++ /dev/null @@ -1,39 +0,0 @@ -defmodule PlausibleWeb.Plugs.SecureSSO do - @moduledoc """ - Plug for securing SSO routes by setting proper policies in headers. - """ - - alias PlausibleWeb.Router.Helpers, as: Routes - - @csp """ - default-src 'none'; - script-src 'self' 'nonce-<%= nonce %>' 'report-sample'; - img-src 'self' 'report-sample'; - report-uri <%= report_path %>; - report-to csp-report-endpoint - """ - |> String.replace("\n", " ") - - @behaviour Plug - import Plug.Conn - - @impl true - def init(opts), do: opts - - @impl true - def call(conn, _) do - nonce = :crypto.strong_rand_bytes(18) |> Base.encode64() - csp_report_path = Routes.sso_path(conn, :csp_report) - - conn - |> put_private(:sso_nonce, nonce) - |> Phoenix.Controller.put_secure_browser_headers(%{ - "cache-control" => "no-cache, no-store, must-revalidate", - "pragma" => "no-cache", - "reporting-endpoints" => "csp-report-endpoint=\"#{csp_report_path}\"", - "content-security-policy" => - EEx.eval_string(@csp, nonce: nonce, report_path: csp_report_path), - "x-xss-protection" => "1; mode=block" - }) - end -end diff --git a/extra/lib/plausible_web/sso/fake_saml_adapter.ex b/extra/lib/plausible_web/sso/fake_saml_adapter.ex deleted file mode 100644 index dccb42098ea1aed2606d914f36cb723e0037984f..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/sso/fake_saml_adapter.ex +++ /dev/null @@ -1,77 +0,0 @@ -defmodule PlausibleWeb.SSO.FakeSAMLAdapter do - @moduledoc """ - Fake implementation of SAML authentication interface. - """ - - alias Plausible.Auth - alias Plausible.Auth.SSO - alias Plausible.Repo - - alias PlausibleWeb.Router.Helpers, as: Routes - - def signin(conn, params) do - conn - |> Phoenix.Controller.put_layout(false) - |> Phoenix.Controller.render("saml_signin.html", - integration_id: params["integration_id"], - email: params["email"], - return_to: params["return_to"], - nonce: conn.private[:sso_nonce] - ) - end - - def consume(conn, params) do - case SSO.get_integration(params["integration_id"]) do - {:ok, integration} -> - session_timeout_minutes = integration.team.policy.sso_session_timeout_minutes - - expires_at = - NaiveDateTime.add(NaiveDateTime.utc_now(:second), session_timeout_minutes, :minute) - - identity = - if user = Repo.get_by(Auth.User, email: params["email"]) do - %SSO.Identity{ - id: user.sso_identity_id || Ecto.UUID.generate(), - integration_id: integration.identifier, - name: user.name, - email: user.email, - expires_at: expires_at - } - else - %SSO.Identity{ - id: Ecto.UUID.generate(), - integration_id: integration.identifier, - name: name_from_email(params["email"]), - email: params["email"], - expires_at: expires_at - } - end - - "sso_login_success" - |> Plausible.Audit.Entry.new(identity, %{team_id: integration.team.id}) - |> Plausible.Audit.Entry.include_change(identity) - |> Plausible.Audit.Entry.persist!() - - PlausibleWeb.UserAuth.log_in_user(conn, identity, params["return_to"]) - - {:error, :not_found} -> - conn - |> Phoenix.Controller.put_flash( - :login_error, - "We couldn't find a Single Sign-On account for that email." - ) - |> Phoenix.Controller.redirect( - to: Routes.sso_path(conn, :login_form, return_to: params["return_to"]) - ) - end - end - - defp name_from_email(email) do - email - |> String.split("@", parts: 2) - |> List.first() - |> String.split(".") - |> Enum.take(2) - |> Enum.map_join(" ", &String.capitalize/1) - end -end diff --git a/extra/lib/plausible_web/sso/real_saml_adapter.ex b/extra/lib/plausible_web/sso/real_saml_adapter.ex deleted file mode 100644 index dc5235ba3d90ba38d4cdc8e0ecbc02c636b92ea8..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/sso/real_saml_adapter.ex +++ /dev/null @@ -1,244 +0,0 @@ -defmodule PlausibleWeb.SSO.RealSAMLAdapter do - @moduledoc """ - Real implementation of SAML authentication interface. - """ - alias Plausible.Auth.SSO - - alias PlausibleWeb.Router.Helpers, as: Routes - - @deflate "urn:oasis:names:tc:SAML:2.0:bindings:URL-Encoding:DEFLATE" - - @cookie_name "session_saml" - @cookie_seconds 10 * 60 - - def signin(conn, %{"integration_id" => integration_id} = params) do - email = params["email"] - return_to = params["return_to"] - - case SSO.get_integration(integration_id) do - {:ok, integration} -> - sp_entity_id = SSO.SAMLConfig.entity_id(integration) - relay_state = gen_id() - id = "saml_flow_#{gen_id()}" - - auth_xml = generate_auth_request(sp_entity_id, id, DateTime.utc_now()) - - params = %{ - "SAMLEncoding" => @deflate, - "SAMLRequest" => Base.encode64(:zlib.zip(auth_xml)), - "RelayState" => relay_state, - "login_hint" => email - } - - url = %URI{} = URI.parse(integration.config.idp_signin_url) - - query_string = - (url.query || "") - |> URI.decode_query() - |> Map.merge(params) - |> URI.encode_query() - - url = URI.to_string(%{url | query: query_string}) - - conn - |> Plug.Conn.configure_session(renew: true) - |> set_cookie( - relay_state: relay_state, - return_to: return_to - ) - |> Phoenix.Controller.redirect(external: url) - - {:error, :not_found} -> - conn - |> Phoenix.Controller.put_flash( - :login_error, - "We couldn't find a Single Sign-On account for that email." - ) - |> Phoenix.Controller.redirect( - to: Routes.sso_path(conn, :login_form, return_to: return_to) - ) - end - end - - def consume(conn, _params) do - integration_id = conn.path_params["integration_id"] - saml_response = conn.body_params["SAMLResponse"] - relay_state = conn.body_params["RelayState"] |> safe_decode_www_form() - - case get_cookie(conn) do - {:ok, cookie} -> - conn - |> clear_cookie() - |> consume(integration_id, cookie, saml_response, relay_state) - - {:error, :session_expired} -> - conn - |> Phoenix.Controller.put_flash(:login_error, "Session expired.") - |> Phoenix.Controller.redirect(to: Routes.sso_path(conn, :login_form)) - end - end - - @verify_opts if Mix.env() == :test, do: [skip_time_conditions?: true], else: [] - - defp consume(conn, integration_id, cookie, saml_response, relay_state) do - with {:ok, integration} <- SSO.get_integration(integration_id), - :ok <- validate_authresp(cookie, relay_state), - {:ok, {root, assertion}} <- SimpleSaml.parse_response(saml_response), - {:ok, cert} <- convert_pem_cert(integration.config.idp_cert_pem), - public_key = X509.Certificate.public_key(cert), - :ok <- - SimpleSaml.verify_and_validate_response(root, assertion, public_key, @verify_opts), - {:ok, attributes} <- extract_attributes(assertion) do - session_timeout_minutes = integration.team.policy.sso_session_timeout_minutes - - expires_at = - NaiveDateTime.add(NaiveDateTime.utc_now(:second), session_timeout_minutes, :minute) - - identity = - %SSO.Identity{ - id: assertion.name_id, - integration_id: integration.identifier, - name: name_from_attributes(attributes), - email: attributes.email, - expires_at: expires_at - } - - "sso_login_success" - |> Plausible.Audit.Entry.new(identity, %{team_id: integration.team.id}) - |> Plausible.Audit.Entry.include_change(identity) - |> Plausible.Audit.Entry.persist!() - - PlausibleWeb.UserAuth.log_in_user(conn, identity, cookie.return_to) - else - {:error, :not_found} -> - login_error( - conn, - cookie, - "We couldn't find a Single Sign-On account for that email." - ) - - {:error, reason} -> - with {:ok, integration} <- SSO.get_integration(integration_id) do - "sso_login_failure" - |> Plausible.Audit.Entry.new(integration, %{team_id: integration.team.id}) - |> Plausible.Audit.Entry.include_change(%{ - error: inspect(reason) - }) - |> Plausible.Audit.Entry.persist!() - end - - login_error(conn, cookie, "Authentication failed (reason: #{inspect(reason)})") - end - end - - defp convert_pem_cert(cert) do - case X509.Certificate.from_pem(cert) do - {:ok, cert} -> {:ok, cert} - {:error, _} -> {:error, :malformed_certificate} - end - end - - defp name_from_attributes(attributes) do - [attributes.first_name, attributes.last_name] - |> Enum.reject(&is_nil/1) - |> Enum.join(" ") - |> String.trim() - end - - defp extract_attributes(assertion) do - attributes = - Enum.reduce([:email, :first_name, :last_name], %{}, fn field, attrs -> - value = - assertion.attributes - |> Map.get(to_string(field), []) - |> List.first() - - Map.put(attrs, field, String.trim(value || "")) - end) - - cond do - attributes.email == "" -> - {:error, :missing_email_attribute} - - # very rudimentary way to check if the attribute is at least email-like - not String.contains?(attributes.email, "@") or String.length(attributes.email) < 3 -> - {:error, :invalid_email_attribute} - - attributes.first_name == "" and attributes.last_name == "" -> - {:error, :missing_name_attributes} - - true -> - {:ok, attributes} - end - end - - defp safe_decode_www_form(nil), do: "" - defp safe_decode_www_form(data), do: URI.decode_www_form(data) - - defp generate_auth_request(issuer_id, id, timestamp) do - XmlBuilder.generate( - {:"samlp:AuthnRequest", - [ - "xmlns:samlp": "urn:oasis:names:tc:SAML:2.0:protocol", - ID: id, - Version: "2.0", - IssueInstant: DateTime.to_iso8601(timestamp) - ], [{:"saml:Issuer", ["xmlns:saml": "urn:oasis:names:tc:SAML:2.0:assertion"], issuer_id}]} - ) - end - - defp validate_authresp(%{relay_state: relay_state}, relay_state) - when byte_size(relay_state) == 32 do - :ok - end - - defp validate_authresp(_, _), do: {:error, :invalid_relay_state} - - defp gen_id() do - 24 |> :crypto.strong_rand_bytes() |> Base.url_encode64() - end - - @doc false - def set_cookie(conn, attrs) do - attrs = %{ - relay_state: Keyword.fetch!(attrs, :relay_state), - return_to: Keyword.fetch!(attrs, :return_to) - } - - Plug.Conn.put_resp_cookie(conn, @cookie_name, attrs, - domain: conn.private.phoenix_endpoint.host(), - secure: true, - encrypt: true, - max_age: @cookie_seconds, - same_site: "None" - ) - end - - defp get_cookie(conn) do - conn = Plug.Conn.fetch_cookies(conn, encrypted: [@cookie_name]) - - if cookie = conn.cookies[@cookie_name] do - {:ok, cookie} - else - {:error, :session_expired} - end - end - - defp clear_cookie(conn) do - Plug.Conn.delete_resp_cookie(conn, @cookie_name, - domain: conn.private.phoenix_endpoint.host(), - secure: true, - encrypt: true, - max_age: @cookie_seconds, - same_site: "None" - ) - end - - defp login_error(conn, cookie, login_error) do - conn - |> Phoenix.Controller.put_flash(:login_error, login_error) - |> Phoenix.Controller.redirect( - to: Routes.sso_path(conn, :login_form, return_to: cookie.return_to) - ) - end -end diff --git a/extra/lib/plausible_web/templates/help_scout/layout.html.heex b/extra/lib/plausible_web/templates/help_scout/layout.html.heex deleted file mode 100644 index 15f124da0e182686fcf51589b623bf4a9dcd1ab5..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/templates/help_scout/layout.html.heex +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Plausible · HelpScout Integration - - - - {@inner_content} - - diff --git a/extra/lib/plausible_web/templates/sso/cta.html.heex b/extra/lib/plausible_web/templates/sso/cta.html.heex deleted file mode 100644 index b1b0fd3455404d81e627b07fce46c80554cbfc1b..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/templates/sso/cta.html.heex +++ /dev/null @@ -1,18 +0,0 @@ -<.settings_tiles> - <.tile docs="sso"> - <:title> - Single Sign-On - - - <.upgrade title="Available on our Enterprise plan"> - <:icon> - - - Restrict access so only team members signing in via SSO can access your account.
Email - <.styled_link href="mailto:hello@plausible.io" class="font-medium"> - hello@plausible.io - - to upgrade. - - - diff --git a/extra/lib/plausible_web/templates/sso/login_form.html.heex b/extra/lib/plausible_web/templates/sso/login_form.html.heex deleted file mode 100644 index ff4b403811be94fb25f8900be3e7b873550ae5ee..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/templates/sso/login_form.html.heex +++ /dev/null @@ -1,54 +0,0 @@ -<.auth_container> - - - <.form - :let={f} - id="sso-login-form" - for={@conn} - action={Routes.sso_path(@conn, :login)} - class="flex flex-col gap-y-6" - > -
- -
- <.input - type="email" - autocomplete="username" - placeholder="example@email.com" - field={f[:email]} - mt?={false} - autofocus="autofocus" - /> -
-

- {login_error} -

-
- - - -
- <.button class="w-full" type="submit" mt?={false}>Sign in - -

- <.styled_link href={ - Routes.auth_path(@conn, :login_form, - return_to: @conn.params["return_to"], - prefer: "manual" - ) - }> - Use password instead - -

-
- - diff --git a/extra/lib/plausible_web/templates/sso/provision_issue.html.heex b/extra/lib/plausible_web/templates/sso/provision_issue.html.heex deleted file mode 100644 index e26a39e67192a9e4a64b065ab0ec8cf8da48a7e2..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/templates/sso/provision_issue.html.heex +++ /dev/null @@ -1,38 +0,0 @@ -<.auth_container> -
-

- The owner of - the team"{@conn.assigns[:current_team].name}" - has turned off email and password logins, so you can only sign in with your organization's Single Sign-On. - - To access this team, you must be added as a team member first. - - - To access this team, you must leave all other teams first. - - - To sign in with SSO, you must leave all other teams first. - - - To access this team, remove or transfer all sites under - "My Personal Sites" - and cancel its subscription if active. - - - To sign in with SSO, remove or transfer all sites under - "My Personal Sites" - and cancel its subscription if active. - -

- -

- <.styled_link href={Routes.auth_path(@conn, :login_form, prefer: "manual")}> - Sign in with email and password - - to resolve the issue. -

-
- diff --git a/extra/lib/plausible_web/templates/sso/provision_notice.html.heex b/extra/lib/plausible_web/templates/sso/provision_notice.html.heex deleted file mode 100644 index dbac07d34478e7081f91ec0e07c2d123c24f3b04..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/templates/sso/provision_notice.html.heex +++ /dev/null @@ -1,17 +0,0 @@ -<.auth_container> -
-

- The owner of - the team"{@conn.assigns[:current_team].name}" - has turned off email and password logins, so you can only sign in with your organization's Single Sign-On. -

-

- To access this team, - <.styled_link href={Routes.auth_path(@conn, :logout)}>sign out - and sign in with SSO. -

-
- diff --git a/extra/lib/plausible_web/templates/sso/saml_signin.html.heex b/extra/lib/plausible_web/templates/sso/saml_signin.html.heex deleted file mode 100644 index e70be63538b23cc7dc6045c94746c58d4f1268f7..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/templates/sso/saml_signin.html.heex +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - -
-

- Processing Single Sign-On request... -

- - <.form - :let={f} - id="sso-req-form" - for={@conn} - action={Routes.sso_path(@conn, :saml_consume, @integration_id)} - > - <.input type="hidden" field={f[:email]} /> - <.input type="hidden" field={f[:return_to]} /> - - <.button class="w-full" type="submit">sign in - -
- - diff --git a/extra/lib/plausible_web/templates/sso/sso_settings.html.heex b/extra/lib/plausible_web/templates/sso/sso_settings.html.heex deleted file mode 100644 index f650b95f7429a25c53bc98541225e7d2e5855cb1..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/templates/sso/sso_settings.html.heex +++ /dev/null @@ -1,3 +0,0 @@ -<.settings_tiles> - {live_render(@conn, PlausibleWeb.Live.SSOManagement, id: "sso-management")} - diff --git a/extra/lib/plausible_web/templates/sso/team_sessions.html.heex b/extra/lib/plausible_web/templates/sso/team_sessions.html.heex deleted file mode 100644 index 0b9ac3a19464a0a8787bbe479b50c52dfabc2c9d..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/templates/sso/team_sessions.html.heex +++ /dev/null @@ -1,36 +0,0 @@ -<.settings_tiles> - <.tile docs="sso#team-management"> - <:title> - SSO Login Management - - <:subtitle> - Review and log out Single Sign-On user sessions - - -
- There are currently no active SSO sessions -
- - <.table id="sso-sessions-list" rows={@sso_sessions}> - <:thead> - <.th>User - <.th hide_on_mobile>Device - <.th hide_on_mobile>Last seen - <.th invisible>Actions - - <:tbody :let={session}> - <.td truncate max_width="max-w-40">{session.user.name} - <.td hide_on_mobile>{session.device} - <.td hide_on_mobile>{Plausible.Auth.UserSessions.last_used_humanize(session)} - <.td :if={@current_user_session.id == session.id} actions>Current session - <.td :if={@current_user_session.id != session.id} actions> - <.delete_button - href={Routes.sso_path(@conn, :delete_session, session.id)} - method="delete" - data-confirm="Are you sure you want to log out this session?" - /> - - - - - diff --git a/extra/lib/plausible_web/views/help_scout_view.ex b/extra/lib/plausible_web/views/help_scout_view.ex deleted file mode 100644 index ea7787926ed8af3195f42f2458a4a9b489bef276..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/views/help_scout_view.ex +++ /dev/null @@ -1,297 +0,0 @@ -defmodule PlausibleWeb.HelpScoutView do - use PlausibleWeb, :extra_view - - def render("callback.html", assigns) do - ~H""" - <.layout xhr?={assigns[:xhr?]}> - - - <%= cond do %> - <% @conn.assigns[:error] -> %> -

- Failed to get details: {@error} -

- <% @multiple_teams? -> %> - - -
-

- User notes -

- -
- {PhoenixHTMLHelpers.Format.text_to_html(@notes, escape: true)} -
-
- <% true -> %> -
-

- Team name -

-

- - {@team_name} - -

-
- -
-

- Status -

-

- - {@status_label} - -

-
- -
-

- Plan -

-

- - {@plan_label} - -

-
- -
-

- Owner of {@sites_count} sites -

-

-
- -
-

- Notes -

- -
- {PhoenixHTMLHelpers.Format.text_to_html(@notes, escape: true)} -
-
- <% end %> - - """ - end - - def render("search.html", assigns) do - ~H""" - <.layout> - <%= if @conn.assigns[:error] do %> -

- Failed to run search: {@error} -

- <% else %> - - <% end %> - - """ - end - - def render("bad_request.html", assigns) do - ~H""" - <.layout> -

Missing expected parameters

- - """ - end - - attr :xhr?, :boolean, default: false - slot :inner_block, required: true - - defp layout(assigns) do - if assigns.xhr? do - ~H""" - render_slot(@inner_block) - """ - else - ~H""" - - - - - - Helpscout Customer Details - - - - -
- {render_slot(@inner_block)} -
- - - - - """ - end - end -end diff --git a/extra/lib/plausible_web/views/sso_view.ex b/extra/lib/plausible_web/views/sso_view.ex deleted file mode 100644 index cb14fa19312411cee9f159762ef76a810121dd78..0000000000000000000000000000000000000000 --- a/extra/lib/plausible_web/views/sso_view.ex +++ /dev/null @@ -1,3 +0,0 @@ -defmodule PlausibleWeb.SSOView do - use PlausibleWeb, :extra_view -end diff --git a/fixture/ga4_api_disabled_error.json b/fixture/ga4_api_disabled_error.json deleted file mode 100644 index d394180cf0d85efbbbd9284fc69dd6c4a9c88da0..0000000000000000000000000000000000000000 --- a/fixture/ga4_api_disabled_error.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "error": { - "code": 403, - "details": [ - { - "@type": "type.googleapis.com/google.rpc.Help", - "links": [ - { - "description": "Google developers console API activation", - "url": "https://console.developers.google.com/apis/api/analyticsadmin.googleapis.com/overview?project=752168887897" - } - ] - }, - { - "@type": "type.googleapis.com/google.rpc.ErrorInfo", - "domain": "googleapis.com", - "metadata": { - "consumer": "projects/752168887897", - "service": "analyticsadmin.googleapis.com" - }, - "reason": "SERVICE_DISABLED" - } - ], - "message": "Google Analytics Admin API has not been used in project 752168887897 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/analyticsadmin.googleapis.com/overview?project=752168887897 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.", - "status": "PERMISSION_DENIED" - } -} diff --git a/fixture/ga4_end_date.json b/fixture/ga4_end_date.json deleted file mode 100644 index bd066f00662e2bcea3ff849110b0a17d984cb200..0000000000000000000000000000000000000000 --- a/fixture/ga4_end_date.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Warsaw" - }, - "metricHeaders": [ - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - } - ], - "rowCount": 3, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240302" - } - ], - "metricValues": [ - { - "value": "13" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_get_property.json b/fixture/ga4_get_property.json deleted file mode 100644 index ed98cc2240ecb1c1cd9754dbbea213c99f6d1ee4..0000000000000000000000000000000000000000 --- a/fixture/ga4_get_property.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "account": "accounts/28425555", - "createTime": "2024-02-22T10:50:15.462Z", - "currencyCode": "USD", - "displayName": "account.one - GA4", - "name": "properties/428685444", - "parent": "accounts/28425555", - "propertyType": "PROPERTY_TYPE_ORDINARY", - "serviceLevel": "GOOGLE_ANALYTICS_STANDARD", - "timeZone": "Europe/Warsaw", - "updateTime": "2024-02-22T10:50:15.462Z" -} \ No newline at end of file diff --git a/fixture/ga4_list_properties.json b/fixture/ga4_list_properties.json deleted file mode 100644 index f8aac0b1d68391fcfc1e1fdbdd40a5e5aaf0739b..0000000000000000000000000000000000000000 --- a/fixture/ga4_list_properties.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "accountSummaries": [ - { - "account": "accounts/28425178", - "displayName": "account.one", - "name": "accountSummaries/28425178", - "propertySummaries": [ - { - "displayName": "account.one - GA4", - "parent": "accounts/28425178", - "property": "properties/428685906", - "propertyType": "PROPERTY_TYPE_ORDINARY" - } - ] - }, - { - "account": "accounts/45336102", - "displayName": "account.two", - "name": "accountSummaries/45336102" - }, - { - "account": "accounts/54516992", - "displayName": "Demo Account", - "name": "accountSummaries/54516992", - "propertySummaries": [ - { - "displayName": "GA4 - Flood-It!", - "parent": "accounts/54516992", - "property": "properties/153293282", - "propertyType": "PROPERTY_TYPE_ORDINARY" - }, - { - "displayName": "GA4 - Google Merch Shop", - "parent": "accounts/54516992", - "property": "properties/213025502", - "propertyType": "PROPERTY_TYPE_ORDINARY" - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_report_imported_browsers.json b/fixture/ga4_report_imported_browsers.json deleted file mode 100644 index 1ed4ff202698a851961331b2cba1c8a73a92c1fe..0000000000000000000000000000000000000000 --- a/fixture/ga4_report_imported_browsers.json +++ /dev/null @@ -1,6336 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - }, - { - "name": "browser" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Amsterdam" - }, - "metricHeaders": [ - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - }, - { - "name": "totalUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "sessions", - "type": "TYPE_INTEGER" - }, - { - "name": "bounces", - "type": "TYPE_INTEGER" - }, - { - "name": "userEngagementDuration", - "type": "TYPE_SECONDS" - } - ], - "rowCount": 233, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "124" - }, - { - "value": "92" - }, - { - "value": "94" - }, - { - "value": "27" - }, - { - "value": "3601" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "27" - }, - { - "value": "30" - }, - { - "value": "20" - }, - { - "value": "323" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "2" - }, - { - "value": "707" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android Browser" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "127" - }, - { - "value": "89" - }, - { - "value": "89" - }, - { - "value": "31" - }, - { - "value": "2859" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "279" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "114" - }, - { - "value": "79" - }, - { - "value": "86" - }, - { - "value": "38" - }, - { - "value": "2443" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "294" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Amazon Silk" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "192" - }, - { - "value": "136" - }, - { - "value": "139" - }, - { - "value": "47" - }, - { - "value": "5974" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "42" - }, - { - "value": "25" - }, - { - "value": "28" - }, - { - "value": "14" - }, - { - "value": "457" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "261" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "137" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "151" - }, - { - "value": "123" - }, - { - "value": "126" - }, - { - "value": "48" - }, - { - "value": "4812" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "5" - }, - { - "value": "300" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "6" - }, - { - "value": "147" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "143" - }, - { - "value": "98" - }, - { - "value": "107" - }, - { - "value": "36" - }, - { - "value": "4840" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "11" - }, - { - "value": "292" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "200" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "165" - }, - { - "value": "111" - }, - { - "value": "112" - }, - { - "value": "46" - }, - { - "value": "4339" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "38" - }, - { - "value": "19" - }, - { - "value": "21" - }, - { - "value": "14" - }, - { - "value": "615" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "5" - }, - { - "value": "288" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "175" - }, - { - "value": "102" - }, - { - "value": "110" - }, - { - "value": "41" - }, - { - "value": "3692" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "16" - }, - { - "value": "18" - }, - { - "value": "11" - }, - { - "value": "425" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "205" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "198" - }, - { - "value": "123" - }, - { - "value": "125" - }, - { - "value": "39" - }, - { - "value": "3959" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "46" - }, - { - "value": "29" - }, - { - "value": "31" - }, - { - "value": "16" - }, - { - "value": "582" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "210" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "182" - }, - { - "value": "119" - }, - { - "value": "123" - }, - { - "value": "50" - }, - { - "value": "4170" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "20" - }, - { - "value": "20" - }, - { - "value": "11" - }, - { - "value": "249" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "7" - }, - { - "value": "383" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "309" - }, - { - "value": "183" - }, - { - "value": "193" - }, - { - "value": "70" - }, - { - "value": "7949" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "43" - }, - { - "value": "37" - }, - { - "value": "39" - }, - { - "value": "24" - }, - { - "value": "360" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "7" - }, - { - "value": "493" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "7" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "273" - }, - { - "value": "165" - }, - { - "value": "170" - }, - { - "value": "73" - }, - { - "value": "5450" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "49" - }, - { - "value": "35" - }, - { - "value": "39" - }, - { - "value": "21" - }, - { - "value": "815" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "48" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "584" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "2396" - }, - { - "value": "332" - }, - { - "value": "173" - }, - { - "value": "71" - }, - { - "value": "42409" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "1100" - }, - { - "value": "187" - }, - { - "value": "26" - }, - { - "value": "16" - }, - { - "value": "19312" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1021" - }, - { - "value": "168" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "18188" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "1019" - }, - { - "value": "172" - }, - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "18157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "192" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "281" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "199" - }, - { - "value": "131" - }, - { - "value": "136" - }, - { - "value": "52" - }, - { - "value": "4747" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "24" - }, - { - "value": "26" - }, - { - "value": "20" - }, - { - "value": "292" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "8" - }, - { - "value": "148" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "YaBrowser" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "181" - }, - { - "value": "140" - }, - { - "value": "145" - }, - { - "value": "55" - }, - { - "value": "5051" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "18" - }, - { - "value": "24" - }, - { - "value": "16" - }, - { - "value": "301" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "30" - }, - { - "value": "31" - }, - { - "value": "14" - }, - { - "value": "1106" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "254" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "223" - }, - { - "value": "157" - }, - { - "value": "160" - }, - { - "value": "49" - }, - { - "value": "7787" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "43" - }, - { - "value": "32" - }, - { - "value": "32" - }, - { - "value": "13" - }, - { - "value": "1493" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "240" - }, - { - "value": "194" - }, - { - "value": "205" - }, - { - "value": "61" - }, - { - "value": "8777" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "54" - }, - { - "value": "47" - }, - { - "value": "51" - }, - { - "value": "21" - }, - { - "value": "2962" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "340" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Mozilla Compatible Agent" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "215" - }, - { - "value": "178" - }, - { - "value": "187" - }, - { - "value": "53" - }, - { - "value": "8889" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "56" - }, - { - "value": "40" - }, - { - "value": "44" - }, - { - "value": "19" - }, - { - "value": "1013" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "7" - }, - { - "value": "1013" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "132" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "YaBrowser" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "224" - }, - { - "value": "187" - }, - { - "value": "196" - }, - { - "value": "66" - }, - { - "value": "9212" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "27" - }, - { - "value": "29" - }, - { - "value": "14" - }, - { - "value": "739" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "8" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "YaBrowser" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Aloha Browser" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "204" - }, - { - "value": "163" - }, - { - "value": "172" - }, - { - "value": "51" - }, - { - "value": "8515" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "24" - }, - { - "value": "25" - }, - { - "value": "14" - }, - { - "value": "431" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "4" - }, - { - "value": "644" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "182" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "354" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "178" - }, - { - "value": "143" - }, - { - "value": "147" - }, - { - "value": "42" - }, - { - "value": "6109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "24" - }, - { - "value": "26" - }, - { - "value": "14" - }, - { - "value": "784" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "9" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "1098" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "160" - }, - { - "value": "133" - }, - { - "value": "140" - }, - { - "value": "35" - }, - { - "value": "5807" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "38" - }, - { - "value": "30" - }, - { - "value": "34" - }, - { - "value": "13" - }, - { - "value": "1335" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "10" - }, - { - "value": "12" - }, - { - "value": "8" - }, - { - "value": "181" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "805" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "727" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "237" - }, - { - "value": "162" - }, - { - "value": "171" - }, - { - "value": "43" - }, - { - "value": "9733" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "19" - }, - { - "value": "20" - }, - { - "value": "9" - }, - { - "value": "1135" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "12" - }, - { - "value": "7" - }, - { - "value": "204" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "401" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "YaBrowser" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "177" - }, - { - "value": "145" - }, - { - "value": "156" - }, - { - "value": "47" - }, - { - "value": "6072" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "26" - }, - { - "value": "28" - }, - { - "value": "15" - }, - { - "value": "640" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "5" - }, - { - "value": "717" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "352" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "180" - }, - { - "value": "149" - }, - { - "value": "156" - }, - { - "value": "49" - }, - { - "value": "7245" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "29" - }, - { - "value": "34" - }, - { - "value": "14" - }, - { - "value": "1652" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "18" - }, - { - "value": "20" - }, - { - "value": "10" - }, - { - "value": "526" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "625" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "226" - }, - { - "value": "192" - }, - { - "value": "211" - }, - { - "value": "86" - }, - { - "value": "6564" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "47" - }, - { - "value": "40" - }, - { - "value": "46" - }, - { - "value": "23" - }, - { - "value": "1127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "6" - }, - { - "value": "604" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "199" - }, - { - "value": "168" - }, - { - "value": "174" - }, - { - "value": "48" - }, - { - "value": "7911" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "40" - }, - { - "value": "33" - }, - { - "value": "37" - }, - { - "value": "23" - }, - { - "value": "596" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "662" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "197" - }, - { - "value": "164" - }, - { - "value": "170" - }, - { - "value": "46" - }, - { - "value": "10278" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "41" - }, - { - "value": "33" - }, - { - "value": "38" - }, - { - "value": "19" - }, - { - "value": "655" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "13" - }, - { - "value": "15" - }, - { - "value": "8" - }, - { - "value": "686" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "335" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "189" - }, - { - "value": "168" - }, - { - "value": "176" - }, - { - "value": "46" - }, - { - "value": "8259" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "40" - }, - { - "value": "33" - }, - { - "value": "34" - }, - { - "value": "12" - }, - { - "value": "1143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "17" - }, - { - "value": "19" - }, - { - "value": "15" - }, - { - "value": "251" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "885" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Opera Mini" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "195" - }, - { - "value": "155" - }, - { - "value": "158" - }, - { - "value": "39" - }, - { - "value": "9019" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "36" - }, - { - "value": "14" - }, - { - "value": "16" - }, - { - "value": "8" - }, - { - "value": "1256" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "21" - }, - { - "value": "23" - }, - { - "value": "8" - }, - { - "value": "704" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Edge" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Chrome" - } - ], - "metricValues": [ - { - "value": "170" - }, - { - "value": "144" - }, - { - "value": "148" - }, - { - "value": "44" - }, - { - "value": "7037" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Safari" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "25" - }, - { - "value": "26" - }, - { - "value": "13" - }, - { - "value": "644" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Samsung Internet" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "4" - }, - { - "value": "327" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Safari (in-app)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android Webview" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Opera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Firefox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_report_imported_custom_events.json b/fixture/ga4_report_imported_custom_events.json deleted file mode 100644 index c1167367666ee4cd548b31abdca787150d373cfd..0000000000000000000000000000000000000000 --- a/fixture/ga4_report_imported_custom_events.json +++ /dev/null @@ -1,1212 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - }, - { - "name": "eventName" - }, - { - "name": "linkUrl" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Amsterdam" - }, - "metricHeaders": [ - { - "name": "totalUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "eventCount", - "type": "TYPE_INTEGER" - } - ], - "rowCount": 56, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "40" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "42" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "40" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "67" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "click" - }, - { - "value": "https://www.facebook.com/kuhinjskeprice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "view_search_results" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "51" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "click" - }, - { - "value": "http://www.coolinarika.com/recept/omiljeni-mramorni-kuglof/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "50" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "view_search_results" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "58" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "click" - }, - { - "value": "https://www.google.co.uk/imgres?imgurl=http://30.media.tumblr.com/oapJteChehjbp5traCrAENnXo1_500.jpg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "view_search_results" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "61" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "click" - }, - { - "value": "http://www.ikea.com/dk/da/catalog/products/20213835/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "click" - }, - { - "value": "https://www.facebook.com/kuhinjskeprice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "74" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "view_search_results" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "68" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "click" - }, - { - "value": "https://pinterest.com/pin/68539225549526297/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "click" - }, - { - "value": "https://www.facebook.com/kuhinjskeprice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "116" - }, - { - "value": "181" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "view_search_results" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "111" - }, - { - "value": "190" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "click" - }, - { - "value": "https://www.facebook.com/kuhinjskeprice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "view_search_results" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "119" - }, - { - "value": "186" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "click" - }, - { - "value": "https://www.facebook.com/kuhinjskeprice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "view_search_results" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "86" - }, - { - "value": "125" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "43" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "66" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "view_search_results" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "click" - }, - { - "value": "http://www.coolinarika.com/recept/omiljeni-mramorni-kuglof/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "click" - }, - { - "value": "http://www.jamieoliver.com/recipes/pasta-recipes/spinach-ricotta-cannelloni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "click" - }, - { - "value": "http://www.ikea.com/dk/da/catalog/products/80010222/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "click" - }, - { - "value": "http://www.apartmenttherapy.com/minh-and-ted-bought-a-distress-150686" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "click" - }, - { - "value": "http://www.coolinarika.com/recept/omiljeni-mramorni-kuglof/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "view_search_results" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "38" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "click" - }, - { - "value": "https://pinterest.com/pin/238198267760892524/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "click" - }, - { - "value": "http://www.lonelyplanet.com/denmark/images/legoland-copenhagen$25938-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "scroll" - }, - { - "value": "" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "20" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_report_imported_devices.json b/fixture/ga4_report_imported_devices.json deleted file mode 100644 index 59d8d144d8ece3bcaecac195074566ae07b6eb7b..0000000000000000000000000000000000000000 --- a/fixture/ga4_report_imported_devices.json +++ /dev/null @@ -1,2556 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - }, - { - "name": "deviceCategory" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Amsterdam" - }, - "metricHeaders": [ - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - }, - { - "name": "totalUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "sessions", - "type": "TYPE_INTEGER" - }, - { - "name": "bounces", - "type": "TYPE_INTEGER" - }, - { - "name": "userEngagementDuration", - "type": "TYPE_SECONDS" - } - ], - "rowCount": 93, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "175" - }, - { - "value": "123" - }, - { - "value": "128" - }, - { - "value": "51" - }, - { - "value": "4286" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "3" - }, - { - "value": "516" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "149" - }, - { - "value": "97" - }, - { - "value": "97" - }, - { - "value": "37" - }, - { - "value": "2916" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "4" - }, - { - "value": "464" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "113" - }, - { - "value": "82" - }, - { - "value": "86" - }, - { - "value": "40" - }, - { - "value": "2325" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "19" - }, - { - "value": "23" - }, - { - "value": "13" - }, - { - "value": "554" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "232" - }, - { - "value": "167" - }, - { - "value": "173" - }, - { - "value": "67" - }, - { - "value": "5963" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "5" - }, - { - "value": "642" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "256" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "186" - }, - { - "value": "140" - }, - { - "value": "142" - }, - { - "value": "61" - }, - { - "value": "3738" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "2" - }, - { - "value": "1515" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "159" - }, - { - "value": "110" - }, - { - "value": "119" - }, - { - "value": "47" - }, - { - "value": "3948" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "18" - }, - { - "value": "19" - }, - { - "value": "9" - }, - { - "value": "1368" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "229" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "180" - }, - { - "value": "127" - }, - { - "value": "131" - }, - { - "value": "62" - }, - { - "value": "3652" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "7" - }, - { - "value": "1500" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "213" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "183" - }, - { - "value": "119" - }, - { - "value": "128" - }, - { - "value": "55" - }, - { - "value": "3609" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "35" - }, - { - "value": "15" - }, - { - "value": "17" - }, - { - "value": "8" - }, - { - "value": "781" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "226" - }, - { - "value": "142" - }, - { - "value": "146" - }, - { - "value": "52" - }, - { - "value": "4415" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "38" - }, - { - "value": "22" - }, - { - "value": "23" - }, - { - "value": "8" - }, - { - "value": "422" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "190" - }, - { - "value": "140" - }, - { - "value": "142" - }, - { - "value": "63" - }, - { - "value": "3871" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "16" - }, - { - "value": "17" - }, - { - "value": "9" - }, - { - "value": "828" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "172" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "370" - }, - { - "value": "235" - }, - { - "value": "242" - }, - { - "value": "100" - }, - { - "value": "8146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "18" - }, - { - "value": "24" - }, - { - "value": "14" - }, - { - "value": "685" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "353" - }, - { - "value": "197" - }, - { - "value": "205" - }, - { - "value": "95" - }, - { - "value": "6141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "16" - }, - { - "value": "17" - }, - { - "value": "4" - }, - { - "value": "773" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "5293" - }, - { - "value": "202" - }, - { - "value": "40" - }, - { - "value": "15" - }, - { - "value": "93328" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "277" - }, - { - "value": "178" - }, - { - "value": "187" - }, - { - "value": "85" - }, - { - "value": "5160" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "241" - }, - { - "value": "156" - }, - { - "value": "164" - }, - { - "value": "75" - }, - { - "value": "4570" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "36" - }, - { - "value": "20" - }, - { - "value": "21" - }, - { - "value": "10" - }, - { - "value": "983" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "242" - }, - { - "value": "180" - }, - { - "value": "191" - }, - { - "value": "82" - }, - { - "value": "6238" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "12" - }, - { - "value": "504" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "244" - }, - { - "value": "182" - }, - { - "value": "184" - }, - { - "value": "61" - }, - { - "value": "8239" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "16" - }, - { - "value": "17" - }, - { - "value": "4" - }, - { - "value": "945" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "197" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "275" - }, - { - "value": "225" - }, - { - "value": "238" - }, - { - "value": "79" - }, - { - "value": "9717" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "25" - }, - { - "value": "26" - }, - { - "value": "6" - }, - { - "value": "1668" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "980" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "280" - }, - { - "value": "225" - }, - { - "value": "237" - }, - { - "value": "77" - }, - { - "value": "10320" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "14" - }, - { - "value": "16" - }, - { - "value": "7" - }, - { - "value": "590" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "163" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "255" - }, - { - "value": "220" - }, - { - "value": "230" - }, - { - "value": "89" - }, - { - "value": "9574" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "9" - }, - { - "value": "12" - }, - { - "value": "3" - }, - { - "value": "445" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "231" - }, - { - "value": "187" - }, - { - "value": "197" - }, - { - "value": "74" - }, - { - "value": "8567" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "26" - }, - { - "value": "26" - }, - { - "value": "1" - }, - { - "value": "1561" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "212" - }, - { - "value": "163" - }, - { - "value": "171" - }, - { - "value": "58" - }, - { - "value": "7415" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "6" - }, - { - "value": "741" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "202" - }, - { - "value": "164" - }, - { - "value": "175" - }, - { - "value": "58" - }, - { - "value": "6400" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "23" - }, - { - "value": "24" - }, - { - "value": "2" - }, - { - "value": "2458" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "198" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "208" - }, - { - "value": "169" - }, - { - "value": "178" - }, - { - "value": "58" - }, - { - "value": "8482" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "79" - }, - { - "value": "30" - }, - { - "value": "33" - }, - { - "value": "5" - }, - { - "value": "2900" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "269" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "204" - }, - { - "value": "170" - }, - { - "value": "182" - }, - { - "value": "65" - }, - { - "value": "6056" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "21" - }, - { - "value": "23" - }, - { - "value": "5" - }, - { - "value": "1402" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "488" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "246" - }, - { - "value": "191" - }, - { - "value": "203" - }, - { - "value": "75" - }, - { - "value": "8711" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "4" - }, - { - "value": "1214" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "274" - }, - { - "value": "235" - }, - { - "value": "260" - }, - { - "value": "111" - }, - { - "value": "7478" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "5" - }, - { - "value": "835" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "238" - }, - { - "value": "199" - }, - { - "value": "209" - }, - { - "value": "75" - }, - { - "value": "7581" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "23" - }, - { - "value": "25" - }, - { - "value": "7" - }, - { - "value": "1518" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "212" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "230" - }, - { - "value": "199" - }, - { - "value": "210" - }, - { - "value": "75" - }, - { - "value": "9852" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "21" - }, - { - "value": "23" - }, - { - "value": "6" - }, - { - "value": "1272" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "927" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "237" - }, - { - "value": "203" - }, - { - "value": "213" - }, - { - "value": "69" - }, - { - "value": "8451" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "23" - }, - { - "value": "25" - }, - { - "value": "8" - }, - { - "value": "1592" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "585" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "224" - }, - { - "value": "178" - }, - { - "value": "184" - }, - { - "value": "51" - }, - { - "value": "9727" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "44" - }, - { - "value": "24" - }, - { - "value": "25" - }, - { - "value": "9" - }, - { - "value": "1287" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "mobile" - } - ], - "metricValues": [ - { - "value": "205" - }, - { - "value": "174" - }, - { - "value": "180" - }, - { - "value": "65" - }, - { - "value": "7199" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "desktop" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "3" - }, - { - "value": "697" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "tablet" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "184" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_report_imported_entry_pages.json b/fixture/ga4_report_imported_entry_pages.json deleted file mode 100644 index cd1b145f8dc95b44d414454333d538871a31dde8..0000000000000000000000000000000000000000 --- a/fixture/ga4_report_imported_entry_pages.json +++ /dev/null @@ -1,79263 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - }, - { - "name": "landingPage" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Amsterdam" - }, - "metricHeaders": [ - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - }, - { - "name": "totalUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "sessions", - "type": "TYPE_INTEGER" - }, - { - "name": "userEngagementDuration", - "type": "TYPE_SECONDS" - }, - { - "name": "bounces", - "type": "TYPE_INTEGER" - } - ], - "rowCount": 2934, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "187" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "839" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "550" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "242" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/danski-las-vegas" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "516" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "121" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/danski-razeni-kruh" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "78" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "192" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "52" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/fini-detalji-za-cajanku" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "50" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "17" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/sta-je-hygge" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "357" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "120" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/djumbir-limun-shot" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/engleski-christmas-pudding" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/kako-napraviti-sir" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "115" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/makaroni-sa-sirom-i-senfom-u-prahu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/mirisno-drvo-protiv-insekata" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "33" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "92" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "94" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/risotto-sa-safranom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/10-zanimljivosti-o-caju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/aktivni-ugalj-prociscavac-vode" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/brownies-od-slatkog-krompira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/caj-bez-ili-sa-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/domaci-ravioli-sa-spinatom-i-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/dvadeset-godina-zivljenja-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/filadendron-monstera-trend-sobna-biljka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/jedan-dan-u-zooloskom-vrtu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/kruh-iz-korpice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/kruh-kamenog-doba" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/limunova-trava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/mirisni-curry-sa-krompirom-i-karfiolom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/mirisni-indijski-curry-sa-krompirom-i-graskom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/nova-korpa-za-biciklo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/omlet-sa-spinatom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/page/2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/pecivo-koje-vraca-nadu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/pet-zacina-iz-moje-kuhinje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/pinjoli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/plavi-krompir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/salata-sa-heljdom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/sataras" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/serviraj-za-pobjedu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/spanska-kuhinja-tapas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/tehnika-savijanja-vekne-kruha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/torta-sa-vrucom-vodom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "/wakame-alge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "184" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "47" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "707" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "91" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/indijski-curry-sa-slanutkom-patlidzanom-paprikama-i-sirom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "20" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "51" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/caorle-biser-sjevera-italije-1-dio" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "38" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/sendvic-na-grilu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "21" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/ah-ta-carobna-venecija" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "182" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/cevapi-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "126" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/kiflice-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/korijen-kurkume-i-kako-da-obojis-kuhinju-u-zuto" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/page/64" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/przeni-bademi-sa-cilijem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/danska-vecera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "141" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/danski-kolac-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/djevojcica-sa-sibicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/domaci-sladoled-na-stapicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/egzoticna-vecera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/grace-and-frankie" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/grcke-mesne-okruglice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/jedan-dan-u-zooloskom-vrtu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/kad-nista-ne-ide-od-ruke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "183" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/kolacici-peceni-u-tavi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/limunova-trava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/mali-medni-poklopci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/mini-palacinke-od-zobenih-mekinja-sa-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/najmanji-paradajz-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/okrugla-peciva-sa-mrkvom-gulerodsboller" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/pet-detalja-sape-ruzina-voda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/ponedjeljak-bez-mesa-obrok-salata-sa-tjesteninom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/salata-od-mrkve-marinirane-sokom-od-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "204" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/slane-kiflice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/snicle-od-karfiola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "130" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/sta-servirati-uz-solju-kave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/strikanjem-protiv-stresa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/velika-kina-i-mala-italija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/zasto-je-eu-protiv-puzica-sa-cimetom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/zasto-se-prodaje-ananas-bez-vrha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "/zdrave-kuglice-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "52" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "419" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "680" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "43" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "41" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/ljubicasti-krompir-crown-prince-bundeva" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/page/2" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/grace-and-frankie" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "16" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kozmetika-iz-kuhinje-maska-za-lice-od-sjemenki-lana" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "86" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/mini-baby-povrce" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "76" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/10-zanimljivosti-o-zivotu-u-danskoj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "40" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "162" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kako-napraviti-domaci-jogurt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "38" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "126" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/salata-sa-heljdom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/skriveni-secer" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/4-brza-obroka-od-jaja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/caj-od-crne-soje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/cejlonski-caj-fortnum-mason" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/cijeli-dorucak-u-jednoj-casi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/danske-kuce-sa-slamnatim-krovom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/djumbir-limun-shot" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/egzoticna-vecera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/jesen-u-dnevnoj-sobi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "145" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/kefir-smoothie-sa-borovnicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/ne-vjeruj-ni-kad-darove-nose" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/pet-jela-od-krompira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/piroske-sa-mljevenim-mesom-i-spinatom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "104" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/sarena-pizza-od-polente" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/sedam-jela-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/snicle-od-karfiola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/supa-od-crvene-lece" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/u-modi-su-balkoni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "/ulje-japanske-metvice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "39" - }, - { - "value": "27" - }, - { - "value": "28" - }, - { - "value": "1543" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "241" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "15" - }, - { - "value": "16" - }, - { - "value": "973" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "421" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "238" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "88" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "338" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "38" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "373" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kassava-yuca-povrce-buducnosti" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "20" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/slani-muffins-na-nordijski-nacin" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "329" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "101" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/chia-dorucak" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/grace-and-frankie" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "11" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kolac-sa-sirom-i-jagodama" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "103" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "102" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "17" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/peceni-kupus" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "39" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/royal-copenhagen" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "54" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/4-brza-obroka-od-jaja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/6-simpaticnih-stvari-za-balkon" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/6-ukusnih-poslastica-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/9-stvari-iz-mog-nesesera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/amchoor-mango-u-prahu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/americki-kukuruzni-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/brzo-djumbir-pivo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/caj-od-crne-soje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/chapati-tanki-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/cokoladni-dizajn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/danci-i-godisnji-odmor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/danski-kolac-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/domaci-sladoled-na-stapicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/heljdina-kasa-za-zdrav-pocetak-dana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kako-napraviti-pink-limunadu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kefir-smoothie-sa-borovnicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kolac-sa-jabukama-i-kupinama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kozmetika-iz-kuhinje-maska-za-lice-od-sjemenki-lana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/kruh-kamenog-doba" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/latte-sa-karamel-sosom-i-morskom-soli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/marinirane-haringe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/nase-duse-u-noci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/neobicni-stativi-za-susenje-posudja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/nova-netflix-serija-the-crown" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/nutella-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/page/2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/peciva-od-razenog-brasna-sa-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/pet-jela-od-krompira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/ponovo-u-modi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/praznicni-kolac-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/salata-od-crvenog-spicastog-kupusa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/sendvic-sa-djumbirom-avokadom-kurkumom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/sezam-kolacici-bez-brasna-mlijeka-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/skriveni-secer" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/sta-danci-jedu-za-uskrs" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/torta-sa-vrucom-vodom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/trokutovi-sa-ruzmarinom-i-origanom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/ustipci-sa-jabukama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/vegeterijanski-burrito" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "/zdraviji-nacin-bojenja-kose" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "116" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "437" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "29" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "28" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "86" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "465" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "410" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "190" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "126" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/salata-od-slanutka-i-brokula" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "180" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/chia-dorucak" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "107" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kako-napraviti-domaci-jogurt" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "19" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1105" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "273" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/4-sestre-i-40-godina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "54" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "65" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "16" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "15" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/ulje-japanske-metvice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "89" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/zasto-se-plasticne-slamcice-izbacuju-iz-upotrebe" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/aktivni-ugalj-prociscavac-vode" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "107" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/aleppo-sapun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/arancini-narandzice-od-rize" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/arapski-dorucak-manakish" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/bijeli-luk-susen-na-dimu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/bozic-u-danskoj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/brzo-djumbir-pivo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/cejlonski-caj-fortnum-mason" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/cevapi-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "131" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/danci-i-godisnji-odmor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/djevojcica-sa-sibicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/ikigai-japanska-tajna-dugog-sretnog-zivota" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "99" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kako-tulipani-ostaju-duze-svjezi-u-vazni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kolac-sa-jabukama-i-kupinama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kucica-u-cvijecu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/mjesto-gdje-se-spajaju-dva-mora" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/moja-genijalna-prijateljica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/napulj-knjiga-broj-4-prica-o-izgubljenom-djetetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/neobicni-stativi-za-susenje-posudja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/novi-trend-bambus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/nutella-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/pablo-pikaso-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/rucak-sa-pogledom-u-restoranu-kazamat-u-banja-luci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/sataras" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/sto-za-sadjenje-cvijeca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/trokutovi-sa-ruzmarinom-i-origanom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "181" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "18" - }, - { - "value": "19" - }, - { - "value": "528" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "236" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "704" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "77" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/pekara-kuhinjske-price" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "243" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/arapski-dorucak-manakish" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "7" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "19" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "9" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "21" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/10-zanimljivosti-o-zivotu-u-danskoj" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "245" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/korpice-od-parmezana" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "82" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "521" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "28" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "77" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "74" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/page/2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "143" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "100" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/6-nacina-kako-iskoristiti-toz-od-kave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/bozanstvene-torte" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/djelic-danske-kulture-ulicni-prodavci-voca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/integralna-tjestenina-sa-salsom-od-paradajza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "196" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kako-napraviti-domaci-musli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kako-napraviti-sir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "207" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "260" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "130" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/kuhinjske-price-table-za-pisanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/lasagne-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/melanzane-alla-parmigiana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/mirisni-curry-sa-krompirom-i-karfiolom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "113" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/mjesto-gdje-se-spajaju-dva-mora" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/muskatni-orascic" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/palenta-na-4-nacina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/patatas-bravas-hrskavi-krompir-u-aromaticnom-sosu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/piroske-sa-mljevenim-mesom-i-spinatom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/riblja-kost-biljka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/salata-od-slanutka-i-brokula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/salata-sa-heljdom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/setnja-kroz-tivoli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/sta-je-novosadski" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "413" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/u-potrazi-za-perfektnim-curry-receptom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/ulje-japanske-metvice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "122" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "383" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "16" - }, - { - "value": "17" - }, - { - "value": "538" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "141" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "897" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "187" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "19" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kako-napraviti-sir" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "639" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "18" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "16" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/indijski-curry-sa-slanutkom-patlidzanom-paprikama-i-sirom" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "28" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "154" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "24" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "491" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/mracne-tajne-prehrambene-industrije-ljepilo-za-meso" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "18" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "225" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/u-modi-je-kelj" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "71" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/5-malih-savjeta-za-njegu-kaktusa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/bakar-ponovo-u-modi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/danske-malina-snite" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/domaci-ravioli-sa-spinatom-i-sirom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kako-napraviti-domaci-jogurt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "34" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/4-nezdrave-navike-koje-je-lako-pretvoriti-u-zdrave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "242" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/aleppo-kristalni-kamen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/aleppo-sapun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/arapski-dorucak-manakish" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/bozic-u-danskoj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/brzo-djumbir-pivo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/cepelinai-prica-o-neuspjelom-postu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/granita-od-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "74" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kolacici-od-slatkog-korjena-liquorice-cookies" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/kruh-sa-medom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/mali-danci-spavaju-napolju-i-zimi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/mjesto-gdje-se-spajaju-dva-mora" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/nomadic-community-gardens" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/nutella-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/paradajz-supa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/pire-od-krompira-na-5-nacina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/plavi-krompir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "86" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-dragane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/sedam-stvarcica-iz-moje-kuhinje-koje-zivot-znace" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "138" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/ustipci-sa-jabukama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "16" - }, - { - "value": "18" - }, - { - "value": "713" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "726" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "104" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "86" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "25" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "48" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "5" - }, - { - "value": "8" - }, - { - "value": "0" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "38" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "17" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "218" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "114" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "358" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "15" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/jednostavna-pita-sa-prokeljom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "35" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "139" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/cemu-sluze-kuhinjski-aparati" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "119" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "118" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "31" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "117" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/peceni-poriluk-prasa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "23" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/liker-od-tresanja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/slane-kiflice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/sta-nas-moze-nauciti-hobotnica-i-zasto-bi-svi-trebali-pogledati-dokumentarni-film-my-octopus-teacher" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/tehnika-savijanja-vekne-kruha" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/brownies-od-slatkog-krompira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kajgana-na-indijski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kako-napraviti-domaci-crveni-pesto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kako-napraviti-sir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/kolacici-guava-i-pokloni-sa-kube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "92" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/nutella-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/paradajz-supa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/pasta-fresca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "128" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/punjene-medjoul-datule" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/salata-od-slanutka-i-brokula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/serviraj-za-pobjedu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "206" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/sta-servirati-uz-solju-kave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/zdrave-kuglice-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "/zlatni-detalji-ananas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "21" - }, - { - "value": "22" - }, - { - "value": "1282" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "230" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "121" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "171" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "50" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/amchoor-mango-u-prahu" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "90" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/caorle-biser-sjevera-italije-1-dio" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "31" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "151" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "20" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "43" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/miris-kafe-u-parfumeriji" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/oopsie-pecivo-bez-brasna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "246" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "16" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/przeni-bademi-sa-cilijem" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/6-ukusnih-poslastica-sa-sirom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/aktivni-ugalj-prociscavac-vode" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "126" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "30" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/danske-malina-snite" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/filmska-preporuka-jos-uvijek-alice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "36" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/peceni-poriluk-prasa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/pet-jela-od-krompira" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/poledjina-belgijske-cokolade" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/u-posjeti-restoranu-pet-bunara-zadar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/zdrave-kuglice-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/aleppo-sapun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/arancini-narandzice-od-rize" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/bijeg-od-civilizacije" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/bijela-palenta-i-ragu-od-gljiva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "111" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/brzi-lagani-povrtni-rucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/brzo-djumbir-pivo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/brzo-ljetno-osvjezenje-sa-grckim-jogurtom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "75" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/buratta-ljubav-na-prvi-zalogaj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/cevapi-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/couscous-i-harissa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/danska-vecera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/danski-kolac-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/divlji-konji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/filadendron-monstera-trend-sobna-biljka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/focaccia-sa-ljubicastim-lukom-i-pecenim-paradajzom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/kako-najlakse-oguliti-djumbir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/kako-napraviti-domaci-jogurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/korpice-od-parmezana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/ljekovita-snaga-mirisnog-limunovca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/mali-medni-poklopci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "85" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/masala-chai" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/morski-sipak-nar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/najmanji-paradajz-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/novi-skandinavski-trend-obojeno-cvijece" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/olovka-koja-zeli-biti-biljka-kad-naraste" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/ponedjeljak-bez-mesa-restovani-krompir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/ponovo-u-modi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/ruzno-i-smrdljivo-voce" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/sarena-pizza-od-polente" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "141" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/sirup-od-agave-da-ili-ne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "157" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/stari-dobri-recepti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/stari-tanjiri-u-novom-ruhu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/u-modi-su-balkoni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/u-svijetu-cajeva-pukka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "483" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "156" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "294" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "39" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "1078" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "52" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/namaz-od-graha-sa-korijanderom-i-limetom" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "261" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "34" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "151" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/chapati-tanki-kruh" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "65" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "27" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/stari-tanjiri-u-novom-ruhu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "382" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "76" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/cudne-sorte-jerusalem-artichokes" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/jedan-dan-u-zooloskom-vrtu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "170" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "59" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "26" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/la-recova-malaga-dorucak" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "20" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/oopsie-pecivo-bez-brasna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/sirove-punjene-paprike" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/belgijski-vafli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/caj-od-crne-soje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/fantastican-prilog-peceno-povrce" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/janjske-otoke-dragulj-prirode" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kako-napraviti-sir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kristijanija-zivot-po-vlastitim-zakonima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "79" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/limunova-trava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "97" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/moj-japanski-rucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/nutella-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/pecene-smokve" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/peceni-kupus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/peceni-poriluk-prasa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/pikantni-peceni-slanutak-u-marinara-sosu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/ponedjeljak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/ponedjeljak-bez-mesa-couscous-sa-grilanim-tikvicama-i-susenim-paradajzom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/praznik-rada-svecano-i-radno" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/przeni-bademi-sa-cilijem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/serviraj-za-pobjedu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/soja-kofta-u-paradajz-sosu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "401" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/stari-dobri-recepti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/ulje-japanske-metvice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/vegeterijanski-burrito" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "/wakame-alge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "46" - }, - { - "value": "34" - }, - { - "value": "37" - }, - { - "value": "1838" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "102" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "54" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "43" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "101" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "255" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "52" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "47" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "357" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "84" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "983" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "49" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "22" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "49" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "381" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "214" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "24" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "707" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "33" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "360" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "24" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "42" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "128" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "126" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "243" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "78" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "274" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "141" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/mudcake-na-veganski-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "43" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "86" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/danski-kolac-od-jabuka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "114" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/karfiol-na-tri-nacina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/marinirani-suseni-paradajz" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/miris-kafe-u-parfumeriji" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "49" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/pita-od-visanja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "104" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "97" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/wakame-alge" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "30" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/zasto-japanke-stavljaju-ruku-na-usta-kad-se-smiju" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/avokado-lice-nalicje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/bijeg-od-civilizacije" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/boje-u-kuhinji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/bozic-u-danskoj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/brza-zimska-supa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/brzo-djumbir-pivo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/cannelloni-sa-spinatom-i-ricotta-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/da-li-su-susene-marelice-zdrave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/danci-i-godisnji-odmor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/danska-rodjendanska-peciva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kako-mozemo-pomoci-pcelama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kako-napraviti-domaci-jogurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/koktel-avokado-stiti-od-avokado-ruke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "71" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kolacici-guava-i-pokloni-sa-kube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kristijanija-zivot-po-vlastitim-zakonima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "136" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/kultni-dzemper-sare-lund" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/mali-kuhinjski-detalji-kuhinjske-krpe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/mali-medni-poklopci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/mini-baby-povrce" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "86" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/peceni-kupus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/pet-detalja-14" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/plavi-razlicak-caj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "84" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/secer-zabranjen-u-uzinama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/skriveni-secer" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/slane-kiflice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/sweet-potato-mali-zalogaji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "51" - }, - { - "value": "39" - }, - { - "value": "42" - }, - { - "value": "2084" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne" - } - ], - "metricValues": [ - { - "value": "44" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "571" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "169" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "382" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "80" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "72" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "792" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "81" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "20" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "317" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "88" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "28" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/peceni-poriluk-prasa" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "78" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "21" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "27" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "276" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "115" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "58" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/caj-od-crne-soje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "103" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/djumbir-limun-shot" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/ethos-kako-da-ne-sprzis-kafu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/grace-and-frankie" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "72" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kassava-yuca-povrce-buducnosti" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "43" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/lenja-pita" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/miris-kafe-u-parfumeriji" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/netflix-serije-unorthodox" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/slane-kiflice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/4-neobicna-pizza-recepta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/5-namirnica-koje-uvijek-imam-u-frizideru" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/aglio-e-olio-na-japanski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/ah-ta-carobna-venecija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/cafe-miao" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/cevapi-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "144" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/danski-kolac-iz-snova" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/dorucak-sa-acai-bobicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/gaudijeva-barcelona" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/granny-smith-jabuka-nad-jabukama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kako-izabrati-dobru-cokoladu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kako-napraviti-sir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/krompir-sa-persunom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kuhinja-boje-safrana-knjiga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/liker-od-tresanja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/mango-lassi-napitak-od-jogurta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "162" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/neobicne-svadbene-torte" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/novi-skandinavski-trend-obojeno-cvijece" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/nutella-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/ovaj-duet-otpevacu-sam" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/pire-od-krompira-na-5-nacina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/ponovo-u-modi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/royal-copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "79" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/salata-od-mrkve-marinirane-sokom-od-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/torta-sa-vrucom-vodom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/u-posjeti-restoranu-pet-bunara-zadar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "8" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5220" - }, - { - "value": "168" - }, - { - "value": "3" - }, - { - "value": "92166" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "25" - }, - { - "value": "29" - }, - { - "value": "1259" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "196" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "191" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "190" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "287" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "93" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "1153" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "89" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "139" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "165" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "51" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "21" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "24" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "114" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kako-pravilno-cuvati-zacine" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "156" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "26" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kako-da-stari-kruh-pretvoris-u-ukusan-obrok" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/shortbread-keksici-sa-maslacem" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "12" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "118" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/cannelloni-sa-spinatom-i-ricotta-sirom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "15" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/arapski-dorucak-manakish" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/brzi-lagani-povrtni-rucak" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/cicoke-zato-ih-treba-jesti" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/danske-malina-snite" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "17" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/morski-sipak-nar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/nutella-pizza" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/poslovi-vezani-za-bastu-koje-mozes-raditi-zimi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/sedam-jela-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/6-nacina-kako-iskoristiti-toz-od-kave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/borba-protiv-krpa-za-jednokratnu-upotrebu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/caj-bez-ili-sa-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/chokoladeboller-danska-peciva-sa-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/feta-sir-u-maslinovom-ulju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/gaudijeva-barcelona" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/grace-and-frankie" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/grcka-salata-sa-feta-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/jedan-ljetni-dan-na-buvljaku" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "94" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/jednostavna-pita-sa-prokeljom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "143" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kako-najlakse-oguliti-djumbir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kako-napraviti-domaci-jogurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/la-recova-malaga-dorucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/marinirani-suseni-paradajz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "113" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "85" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/najpoznatija-danska-vazna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/peceni-krompir-sa-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/plavi-razlicak-caj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/podcast-nas-vlastiti-radio" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/praline-sa-maslacem-od-kikirikija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "115" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/spanska-kuhinja-tapas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "123" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/wraps-sa-kozjim-sirom-i-medom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "123" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "328" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "161" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "566" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "33" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/indijski-zacin-na-francuski-nacin" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "270" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "175" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "186" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "162" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "80" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "62" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "273" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "108" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "15" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "126" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "353" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "28" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "28" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/zdrave-kuglice-bez-secera" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "15" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/6-nacina-kako-iskoristiti-toz-od-kave" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "398" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/arapski-dorucak-manakish" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "175" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/pastrnak-kolac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/ponovo-u-modi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/zdraviji-nacin-bojenja-kose" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "324" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/4-ljetne-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/5-apps-sa-mog-telefona" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/5-italijanskih-poslastica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/africki-crni-sapun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/aleppo-sapun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/cudne-sorte-jerusalem-artichokes" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "155" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/danski-kolac-iz-snova" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/fantasticni-prilog-za-sir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/filmska-preporuka-jos-uvijek-alice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "117" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/hammam-al-andalus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kako-napraviti-domaci-jogurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "102" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/ko-jede-najvise-bombona" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/kolac-sa-limunom-i-jogurtom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/lazna-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "127" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/makaroni-sa-sirom-i-senfom-u-prahu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/mala-sirena-obojena-u-crveno-protest" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/novi-izvori-soli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/pablo-pikaso-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/peciva-od-razenog-brasna-sa-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/pet-detalja-50" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/pinjoli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/ponedjeljak-bez-mesa-topla-quinoa-salata" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/praznicni-kolac-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/punjene-portobello-gljive" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "301" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/sta-servirati-uz-solju-kave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/strikani-kaktusi-bijele-jagode" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/torta-sa-vrucom-vodom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/what-the-health-dokumentarni-film-koji-treba-pogledati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "/zdrava-hrana-u-srcu-banja-luke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "23" - }, - { - "value": "25" - }, - { - "value": "582" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "12" - }, - { - "value": "14" - }, - { - "value": "348" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "210" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "462" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "182" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "466" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "547" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "476" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "290" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "7" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/pire-od-krompira-na-5-nacina" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/djevojcica-sa-sibicama" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "50" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "93" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/krompir-na-milion-nacina-rosti" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "143" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "87" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "54" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "226" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "118" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/idli-dorucak-na-indijski-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kolacici-peceni-u-tavi" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "184" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "36" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "163" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/africki-crni-sapun" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/aleppo-sapun" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "59" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/chapati-tanki-kruh" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/fini-detalji-za-cajanku" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "35" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "82" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "7" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/piroske-sa-mljevenim-mesom-i-spinatom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/praznicni-kolac-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/shortbread-keksici-sa-maslacem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "19" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/tvshows/escort-boys-serie-streaming-vf" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/4-neobicna-pizza-recepta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/4-stvari-koje-turisti-ne-vole-u-danskoj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "162" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/ah-ta-carobna-venecija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/brza-zimska-supa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/brzo-ljetno-osvjezenje-sa-grckim-jogurtom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/cepelinai-prica-o-neuspjelom-postu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/danski-razeni-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/goruca-ljubav-klasik-danske-kuhinje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "164" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kava-u-italijanskom-maniru" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kolac-od-zobenih-pahuljica-i-krompirovog-brasna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kolac-sa-sirom-i-jagodama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/kultni-dzemper-sare-lund" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/la-recova-malaga-dorucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/lazno-meso" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/lemon-curd-snite" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/limunova-trava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "120" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/neizbjezni-nocni-stocic" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/pasta-e-ceci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/pet-detalja-14" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/pet-kuhinjskih-ikea-sitnica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/pet-zacina-iz-moje-kuhinje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/prakticni-kuhinjski-detalji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/prolazim-kroz-zidove" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/sta-servirati-uz-solju-kave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/stapic-za-usi-koji-mozes-koristiti-vise-od-1000-puta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/strikani-kaktusi-bijele-jagode" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/u-modi-su-balkoni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "/zdrava-hrana-crne-boje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "2324" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "26" - }, - { - "value": "26" - }, - { - "value": "980" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "412" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "221" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "62" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "94" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "441" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "34" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "112" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "188" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/peceni-poriluk-prasa" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "632" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "88" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "172" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "49" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "11" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/cronut-kolac-koji-je-zaludio-svijet" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "87" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kolacici-peceni-u-tavi" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "24" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/sirove-punjene-paprike" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "115" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "256" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "143" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/egzoticna-vecera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "108" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "71" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "148" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/mijesana-ljetna-salata" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "182" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/peceno-jesenje-povrce-kruska-i-kapari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/salata-od-slanutka-i-brokula" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/salata-sa-heljdom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "98" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "344" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "121" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/zdrave-kuglice-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/4-zanimljive-ideje-za-postavljanje-stola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/africki-crni-sapun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/belgijski-vafli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "154" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/brunsviger-danski-favorit-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/caj-bez-ili-sa-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/cevapi-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/danska-vecera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "188" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/danski-razeni-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "289" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/djevojcica-sa-sibicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/integralna-tjestenina-sa-salsom-od-paradajza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/iz-jedne-engleske-baste" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kefir-smoothie-sa-borovnicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kiflice-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/koliko-nam-je-holesterol-visi-nakon-praznika" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/kruh-iz-korpice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/lucia-peciva-sa-safranom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/oopsie-pecivo-bez-brasna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/rodjendan-i-mala-nagradna-igra" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/sladoled-u-brioche-pecivu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "110" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/snicle-od-karfiola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/sta-servirati-uz-solju-kave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/tehnika-savijanja-vekne-kruha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/vegeterijanski-burrito" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "/visece-saksije" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "12" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "42" - }, - { - "value": "42" - }, - { - "value": "42" - }, - { - "value": "1497" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "23" - }, - { - "value": "28" - }, - { - "value": "756" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "369" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "247" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "1261" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "844" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "26" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "569" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "635" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "92" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "156" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "185" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "83" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "165" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "41" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "331" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "124" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "141" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "30" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/sirove-punjene-paprike" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "119" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/torta-sa-vrucom-vodom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "862" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "135" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "83" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/couscous-i-harissa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/hercampuri-eliksir-zdravlja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "42" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "75" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "223" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "131" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "91" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kruh-iz-korpice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/palacinke-na-slatki-i-slani-nacin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/pasteta-po-ukusu-jednog-svjetskog-kulinara" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "73" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "119" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/5-poklona-iz-japana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/6-nacina-za-pripremanje-ribe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/africki-crni-sapun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/aleppo-kristalni-kamen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/amchoor-mango-u-prahu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/americki-kolac-sa-limunom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/dorucak-sa-zobenim-mekinjama-i-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "119" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/dressing-od-sojinog-jogurta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/fantasticna-vrecica-za-pravljenje-leda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/havajska-so-novi-zacin-u-mojoj-kuhinji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/ikea-zasto-je-svi-volimo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "246" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "104" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/krompir-salata-sa-mladim-lukom-vlascem-i-rotkvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/kultni-dzemper-sare-lund" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "284" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/la-frittata-alla-ricotta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/liker-od-tresanja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/ljubicasti-krompir-crown-prince-bundeva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/mastoviti-kuhinjski-prozori" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/miris-kafe-u-parfumeriji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/morski-sipak-nar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/mracne-tajne-prehrambene-industrije-ljepilo-za-meso" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/nutella-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/ormar-sa-37-komada-odjece" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "84" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/peceni-krompir-sa-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/pita-krompirusa-sa-susenim-vlascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/ponovo-u-modi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/praline-sa-maslacem-od-kikirikija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-jovane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/riblja-kost-biljka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/rucak-bez-mesa-indijski-curry-sa-gljivama-i-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/salata-od-mrkve-marinirane-sokom-od-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "77" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/sedam-stvarcica-iz-moje-kuhinje-koje-zivot-znace" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/skandinavci-obozavaju-jedan-mali-ormar-zasto-ga-ikea-ne-zeli-vise-prodavati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/u-modi-su-balkoni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "116" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/ulje-koje-su-nepravedno-osudili" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "/zdrava-hrana-crne-boje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "49" - }, - { - "value": "35" - }, - { - "value": "39" - }, - { - "value": "1519" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "1456" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "622" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "518" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "1118" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "142" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "346" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "789" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "47" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "132" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "139" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "257" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "150" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "57" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "182" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/pire-od-krompira-na-5-nacina" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "181" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/danski-razeni-kruh" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "214" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "45" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "321" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "108" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "18" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "188" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "87" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/sipak-u-prahu-baklava-sa-pistacijem" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "103" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "180" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "71" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "166" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "43" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "93" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/limunova-trava" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/mini-palacinke-od-zobenih-mekinja-sa-vocem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "102" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/nase-duse-u-noci" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "79" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/14-savjeta-za-sve-koji-pocinju-kuhati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/5-namirnica-koje-uvijek-imam-u-frizideru" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/caj-od-crne-soje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/cicoke-zato-ih-treba-jesti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/cijeli-dorucak-u-jednoj-casi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/cudne-sorte-jerusalem-artichokes" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/dah-proslosti-la-alcazaba" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/domaci-sladoled-na-stapicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/engleski-christmas-pudding" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/fougasse-tanki-francuski-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/janjske-otoke-dragulj-prirode" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kako-najlakse-oguliti-djumbir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kolac-sa-limunom-i-jogurtom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kruh-sa-medom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/makaroni-sa-sirom-i-senfom-u-prahu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/miris-kafe-u-parfumeriji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/najstarije-vino-na-svijetu-mjod" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/nicoise-salata-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/okusi-italije-rummo-pasta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/palacinke-na-slatki-i-slani-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/pet-detalja-50" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/pet-detalja-sape-ruzina-voda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/plavi-razlicak-caj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/punjene-medjoul-datule" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/restoran-koji-servira-ostatke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/ruzno-i-smrdljivo-voce" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/sirove-punjene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/sta-je-hygge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "75" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "/znamenitosti-rima-koje-treba-vidjeti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "39" - }, - { - "value": "31" - }, - { - "value": "32" - }, - { - "value": "1627" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "17" - }, - { - "value": "18" - }, - { - "value": "1699" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "340" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "10" - }, - { - "value": "13" - }, - { - "value": "181" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "272" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "220" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "214" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "188" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "186" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/plavi-razlicak-caj" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "190" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "212" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/cannelloni-sa-spinatom-i-ricotta-sirom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "25" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "101" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "156" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "124" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "44" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "139" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/filmska-preporuka-jos-uvijek-alice" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "221" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/brza-zimska-supa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "26" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/djelic-danske-kulture-kutije-sa-uzinom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "113" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "90" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "177" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "71" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "38" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "130" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "45" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "99" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/salata-od-slanutka-i-brokula" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "602" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "116" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/14-savjeta-za-sve-koji-pocinju-kuhati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/5-poklona-iz-japana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/ah-ta-carobna-venecija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/belgijski-dragulj-antwerpen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/borba-protiv-krpa-za-jednokratnu-upotrebu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/bozanstvene-torte" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/brzi-tanki-kruh-sa-spinatom-i-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/chapati-tanki-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/cokoladne-stikle" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/da-li-su-susene-marelice-zdrave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/dah-proslosti-la-alcazaba" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/danske-kuce-sa-slamnatim-krovom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/energetske-kuglice-sa-pistacijem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/focaccia-sa-paradajzom-i-ruzmarinom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/integralna-tjestenina-sa-salsom-od-paradajza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "159" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kako-napraviti-chai" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kako-napraviti-sir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kava-u-italijanskom-maniru" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kiflice-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/kolacici-peceni-u-tavi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/liker-od-tresanja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/limunova-trava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/losos-na-grilu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/mali-danci-spavaju-napolju-i-zimi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/mali-medni-poklopci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/med-za-sve" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "322" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/nicoise-salata-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "85" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/okusi-italije-rummo-pasta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/panzanella-salata-sa-kruhom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/pastrnak-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/peciva-od-razenog-brasna-sa-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-ingvild" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/przeni-bademi-sa-cilijem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/punjene-portobello-gljive" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/sjemenke-lana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/tapas-kultura" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/ustipci-sa-jabukama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "/zato-treba-izbjegavati-palminu-mast" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "53" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "24" - }, - { - "value": "24" - }, - { - "value": "1129" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "948" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "307" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "1069" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "560" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "24" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "177" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "72" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "276" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "243" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "81" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "367" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "121" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/6-ukusnih-poslastica-sa-sirom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "88" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "31" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "128" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "56" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/dorucak-koji-stoji-preko-noci-zobene-pahuljice-sa-jabukom-i-cimetom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "91" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "351" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "37" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/la-recova-malaga-dorucak" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "142" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/liker-od-tresanja" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "86" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "252" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "100" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "87" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/zanemarene-namirnice-leca" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "260" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/chapati-tanki-kruh" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "129" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/danski-razeni-kruh" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "222" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "74" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/film-koji-svakako-treba-pogledati-the-lunchbox" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "116" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/korpe-za-ves-sa-stilom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "128" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "119" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "157" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/14-savjeta-za-sve-koji-pocinju-kuhati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/brzo-djumbir-pivo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/cejlonski-caj-fortnum-mason" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/da-li-su-susene-marelice-zdrave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/dah-proslosti-la-alcazaba" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/djevojcica-sa-sibicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "149" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/dorucak-sa-zobenim-mekinjama-i-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/eggs-in-purgatory-jaja-u-cistilistu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/fini-detalji-za-cajanku" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/glazirani-mladi-krompir-sa-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/holandski-sir-proljece" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kako-lako-pripremiti-pice-za-dobrodoslicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kako-napraviti-sir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "113" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/makaroni-sa-sirom-i-senfom-u-prahu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/mini-palacinke-od-zobenih-mekinja-sa-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/morski-sipak-nar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/netflix-serije-unorthodox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/nova-netflix-serija-the-crown" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/okrugla-peciva-sa-mrkvom-gulerodsboller" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/pakovanje-poklona" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/pet-jela-od-krompira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/plavi-razlicak-caj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/pomoc-za-umorne-noge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/prakticni-kuhinjski-detalji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/projice-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/przeni-bademi-sa-cilijem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/punjene-medjoul-datule" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/royal-copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/salata-od-slanutka-i-brokula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/sataras" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/sta-je-hygge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/tajlandska-supa-tom-yum-na-vegeterijanski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "131" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/ustipci-sa-jabukama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/zdrava-hrana-crne-boje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "399" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "535" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "334" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "300" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "141" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "381" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/cannelloni-sa-spinatom-i-ricotta-sirom" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "260" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "358" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "760" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "294" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "127" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "100" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "117" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/oopsie-pecivo-bez-brasna" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "24" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/boje-u-kuhinji" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "208" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "101" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "51" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/plavi-zmijanjski-vez" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "93" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "281" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "167" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "26" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/cvijet-koji-mirise-na-cokoladu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kajgana-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kako-napraviti-domaci-crveni-pesto" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "43" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "62" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/morski-sipak-nar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "91" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "173" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "130" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "17" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "195" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/plavi-razlicak-caj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "127" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "125" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/punjene-medjoul-datule" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "78" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/brza-zimska-supa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/couscous-salata-sa-graskom-i-grozdjicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "128" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/danski-kolac-iz-snova" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/fattoush-salata" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/ikigai-japanska-tajna-dugog-sretnog-zivota" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "133" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kako-napraviti-sir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/korpe-za-ves-sa-stilom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kristijanija-zivot-po-vlastitim-zakonima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/lazno-meso" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/liker-od-tresanja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/mali-kuhinjski-detalji-kuhinjske-krpe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/matcha-vise-nego-caj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/med-sa-djumbirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/mudcake-na-veganski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/muzej-na-otvorenom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/nutella-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "143" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/patatas-bravas-hrskavi-krompir-u-aromaticnom-sosu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/pet-jela-od-krompira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "89" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-milana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/risotto-sa-portobello-gljivama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "111" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/sirup-od-agave-da-ili-ne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/sladoled-u-brioche-pecivu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/torta-sa-vrucom-vodom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/ulje-japanske-metvice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "94" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/zasto-se-plasticne-slamcice-izbacuju-iz-upotrebe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "35" - }, - { - "value": "24" - }, - { - "value": "26" - }, - { - "value": "1051" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "710" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "895" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "679" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "369" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "293" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "210" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "80" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "143" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "197" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "43" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "168" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/brza-zimska-supa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "239" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "116" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "106" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "185" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "42" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/amelie-slatki-rendez-vous" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "26" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "112" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/pablo-pikaso-malaga" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/pasta-e-ceci" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "136" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "96" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "115" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/salata-sa-heljdom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "48" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "126" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "128" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/arapski-dorucak-manakish" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/borba-protiv-krpa-za-jednokratnu-upotrebu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/bozic-u-danskoj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/brzo-ljetno-osvjezenje-sa-grckim-jogurtom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/cantuccini-od-kestenovog-brasna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/fantasticni-americki-kolacici" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/filadendron-monstera-trend-sobna-biljka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/granita-od-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "148" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/groznica-zvana-elena-ferrante" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/hrskavi-keksici-od-zobenih-pahuljica-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/ikea-zasto-je-svi-volimo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/javorov-sirup" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kad-lisce-pada" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "111" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kako-njegovati-kosu-zimi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/lenja-pita" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/ljeto-u-rogoznici" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "202" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/lupini-salata" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "142" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/napuljska-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/neobicne-svadbene-torte" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/novogodisnja-obecanja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "113" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/pakovanje-poklona" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/papirna-casa-kao-ukrasna-saksija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/peceni-poriluk-prasa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/pet-zacina-iz-moje-kuhinje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/pire-od-krompira-sa-povrcem-i-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/plavi-krompir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/plavi-razlicak-caj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/plavi-zmijanjski-vez" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/prica-o-medenjacima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "233" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/projice-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/ruzno-i-smrdljivo-voce" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/shantaram" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/sipak-u-prahu-baklava-sa-pistacijem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/spanska-kuhinja-tapas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/sta-sa-razbijenom-saksijom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/stop-bacanju-hrane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/tepih-na-zid-umjesto-na-pod" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "117" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "/zapecene-rolnice-od-patlidzana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "26" - }, - { - "value": "26" - }, - { - "value": "2025" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "1198" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/page/2" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "809" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "631" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "16" - }, - { - "value": "17" - }, - { - "value": "834" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "252" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "514" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "128" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/salata-od-mrkve-marinirane-sokom-od-narandze" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "181" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "94" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "589" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "182" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "17" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "8" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "175" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "133" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/cepelinai-prica-o-neuspjelom-postu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "111" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/bijeg-od-civilizacije" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/cicoke-zato-ih-treba-jesti" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "83" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/italijanska-caprese-salata-na-drugaciji-nacin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "32" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/pau-bhai-indijski-pire-krompir" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "236" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "95" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/peceno-jesenje-povrce-kruska-i-kapari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/plavi-zmijanjski-vez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "46" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/ricotta-kolac-sa-kandiranim-vocem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "21" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/slane-kiflice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/ulje-japanske-metvice" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "338" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/4-namirnice-koje-volim-imati-u-kuhinji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/arapski-dorucak-manakish" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/bozanstvena-napolitanska-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/bozic-u-danskoj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/dah-proslosti-la-alcazaba" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/danska-okrugla-peciva-sa-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/grace-and-frankie" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/islandska-nordjur-so" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "92" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/jednostavna-poslastica-sa-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "127" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "77" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kassava-yuca-povrce-buducnosti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kisela-djetelina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kremaste-kuglice-labneh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/krompir-na-milion-nacina-rosti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kruh-sa-medom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/lammily-lutka-realnih-proporcija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/lampa-od-himalajske-soli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/lucia-peciva-sa-safranom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/marinirani-suseni-paradajz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/mini-pite-sa-jabukama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "99" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/najstarije-vino-na-svijetu-mjod" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "74" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/narandzasta-je-nova-crna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/peceni-kupus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/pojacivaci-okusa-na-zdraviji-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/poslovi-vezani-za-bastu-koje-mozes-raditi-zimi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/proljetne-rolice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/skandinavci-obozavaju-jedan-mali-ormar-zasto-ga-ikea-ne-zeli-vise-prodavati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/tehnika-savijanja-vekne-kruha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "359" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/trendovi-stare-secernice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/tunacado-sendvic" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/tvrdi-ili-tecni-sapuni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/voda-iz-plasticne-boce-ili-iz-slavine" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "191" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/zapecene-rolnice-od-patlidzana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "37" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "25" - }, - { - "value": "26" - }, - { - "value": "1078" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "12" - }, - { - "value": "265" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "493" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "21" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "236" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "243" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "65" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "578" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "124" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "256" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/ponedjeljak-bez-mesa-topla-quinoa-salata" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "135" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/aleppo-sapun" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "269" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/caj-od-crne-soje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "203" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "142" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "149" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "111" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "138" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "25" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "164" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/cvijet-koji-mirise-na-cokoladu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "84" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "77" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "29" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kiflice-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "43" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "61" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kruh-sa-medom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "314" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/pakovanje-poklona" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/sirove-punjene-paprike" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "115" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "92" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/zato-treba-izbjegavati-palminu-mast" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/5-poklona-iz-japana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/bozanstvene-torte" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/buratta-ljubav-na-prvi-zalogaj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "106" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/cevapi-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "104" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/crumble-cake-i-rabarbara" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/danska-okrugla-peciva-sa-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/dressing-od-sojinog-jogurta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/glazirani-mladi-krompir-sa-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/iskljuci-televizor-i-uzivaj-u-hrani" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "143" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kajgana-u-serpi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "103" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kako-pravilno-cuvati-zacine" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/koliko-nam-je-holesterol-visi-nakon-praznika" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/korpe-za-ves-sa-stilom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/ljekovita-snaga-mirisnog-limunovca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/mali-medni-poklopci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/maslinovo-ulje-za-dug-i-zdrav-zivot" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "84" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/med-sa-djumbirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/metro-keramicke-plocice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/neobican-cvijet" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/novogodisnja-obecanja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/peceni-kupus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/pet-detalja-sape-ruzina-voda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/plavi-zmijanjski-vez" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/poslovi-vezani-za-bastu-koje-mozes-raditi-zimi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-jasne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-milana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/slane-kiflice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/tepih-na-zid-umjesto-na-pod" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/tikvice-sa-parmezanom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/torta-sa-vrucom-vodom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/ulje-japanske-metvice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/uskrs-u-danskoj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/zasto-japanci-nose-maske-na-ustima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/zdrava-hrana-crne-boje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "40" - }, - { - "value": "28" - }, - { - "value": "31" - }, - { - "value": "1145" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "249" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "381" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "227" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "829" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "186" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "178" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/bozanstvene-torte" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "271" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "181" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "64" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "197" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "506" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "625" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "95" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "374" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "103" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/salata-sa-heljdom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "161" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "18" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "174" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "58" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1525" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "68" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "40" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/9-poslastica-sa-vocem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/bozic-u-danskoj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "87" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "139" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "137" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/islandska-nordjur-so" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "122" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "36" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "113" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "19" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kolacici-guava-i-pokloni-sa-kube" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "60" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "21" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/lampa-od-himalajske-soli" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "34" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/plavi-zmijanjski-vez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "118" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/aleppo-sapun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/belgijski-vafli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/crveno-bijelo-roze-ili-plavo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/cudne-misli-u-mojoj-glavi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/danski-bozic-u-slikama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/djelic-danske-kulture-kutije-sa-uzinom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/eksperiment-koji-je-izazvao-paznju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/filmski-prijedlog-za-januar-lion" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/grcka-salata-sa-feta-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/jednostavna-pita-sa-prokeljom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kako-lako-pripremiti-pice-za-dobrodoslicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "172" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "147" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kiflice-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/krompir-sa-persunom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/lazno-meso" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "96" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/matcha-latte-hygge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/mini-baby-povrce" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/morski-sipak-nar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "103" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/nova-netflix-serija-the-crown" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/novi-trendovi-strikanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/pinjoli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-ivane-u-americi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/projice-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/simbol-kopenhagena-medju-pet-najvecih-turistickih-razocarenja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/skandinavci-obozavaju-jedan-mali-ormar-zasto-ga-ikea-ne-zeli-vise-prodavati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/sta-servirati-uz-solju-kave" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/ulje-japanske-metvice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "/zdrave-kuglice-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "41" - }, - { - "value": "34" - }, - { - "value": "36" - }, - { - "value": "1021" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "11" - }, - { - "value": "15" - }, - { - "value": "108" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "510" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "411" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "147" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "464" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "372" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "143" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/energetske-kuglice-sa-pistacijem" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "57" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "84" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "141" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "74" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "106" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "298" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "268" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "281" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "9" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "246" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "59" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "96" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/africki-crni-sapun" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "74" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/pet-jela-od-krompira" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "324" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "59" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/soja-kofta-u-paradajz-sosu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/zapeceni-pire-krompir-pippe-middleton" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "257" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/zdrava-hrana-u-srcu-banja-luke" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "77" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "89" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "59" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "157" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/pecena-zuta-repa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "154" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/peceni-poriluk-prasa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "49" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/risotto-sa-portobello-gljivama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "10" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "90" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/5-lijepih-vitrina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/bijeg-od-civilizacije" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/danski-bozic-u-slikama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/djumbir-limun-shot" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ethos-kako-da-ne-sprzis-kafu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/fire-finansijska-nezavisnost-i-rana-penzija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "111" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/gril-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "230" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "103" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/kako-ispeci-losos" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "89" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/krompir-salata-sa-mladim-lukom-vlascem-i-rotkvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/kruh-od-tri-vrste-zitarica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/lupini-salata" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/marinirane-haringe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/metro-keramicke-plocice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/mini-baby-povrce" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/mjesto-gdje-se-spajaju-dva-mora" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/muskatni-orascic" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/narandzasta-je-nova-crna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/neobican-cvijet" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/okra-i-kleopatra" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/peceni-kupus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/plavi-razlicak-caj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ponedjeljak-bez-mesa-obrok-salata-sa-tjesteninom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ponedjeljak-bez-mesa-restovani-krompir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/prica-o-medenjacima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/przeni-bademi-sa-cilijem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/punjene-medjoul-datule" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/punjene-portobello-gljive" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/ruzmarin-mala-tajna-dugovjecnih-italijana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/salata-sa-heljdom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/spanska-kuhinja-tapas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/tehnika-savijanja-vekne-kruha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/vegeterijanski-burrito" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/zdrave-rutine-crvena-salata-sa-svjezom-cveklom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "32" - }, - { - "value": "34" - }, - { - "value": "1423" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "727" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "6" - }, - { - "value": "8" - }, - { - "value": "397" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "194" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "236" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "202" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "199" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "388" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "360" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "21" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "198" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "107" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/energetske-kuglice-sa-pistacijem" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "36" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "143" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "277" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "127" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "30" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "137" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "168" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "62" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "31" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "96" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/prica-o-medenjacima" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "337" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "53" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/salata-od-zute-i-sarene-cikle" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/sipak-u-prahu-baklava-sa-pistacijem" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "237" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "58" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/korpice-od-parmezana" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "134" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/la-recova-malaga-dorucak" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "145" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/najljepsi-izlog-kopenhagena" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/rucak-sa-pogledom-u-restoranu-kazamat-u-banja-luci" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/9-stvari-iz-mog-nesesera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/bijeg-od-civilizacije" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/bozanstvene-torte" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/bozic-u-danskoj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/brzi-kruh-bez-kvasca-soda-bread" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/caj-vjecni-zivot" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/cicoke-zato-ih-treba-jesti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "89" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/cokoladne-stikle" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/danci-i-godisnji-odmor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/eggs-in-purgatory-jaja-u-cistilistu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/fougasse-tanki-francuski-kruh" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/glazirani-romanesco" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/grace-and-frankie" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/idli-dorucak-na-indijski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/islandska-nordjur-so" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "106" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kako-pravilno-cuvati-zacine" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kolacici-od-slatkog-korjena-liquorice-cookies" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kolacici-peceni-u-tavi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/lampa-od-himalajske-soli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/lasagne-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/lenja-pita" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/med-sa-djumbirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "128" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/neobicni-stativi-za-susenje-posudja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/panpepato-slatki-poklon-iz-toskane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/peceno-jesenje-povrce-kruska-i-kapari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/piroske-sa-mljevenim-mesom-i-spinatom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/pojacivaci-okusa-na-zdraviji-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "71" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/prica-o-grancici-imele" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/prolazim-kroz-zidove" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/przeni-bademi-sa-cilijem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/punjene-portobello-gljive" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/sirove-punjene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/smoothie-sa-jabukom-stabljikom-celera-i-sjemenkama-konoplje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/staro-posudje-keleraba" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/tehnika-savijanja-vekne-kruha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/torta-sa-vrucom-vodom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/zasto-japanci-nose-maske-na-ustima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "94" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "/zato-treba-izbjegavati-palminu-mast" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "122" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "22" - }, - { - "value": "22" - }, - { - "value": "2363" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "543" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "460" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "220" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "640" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "142" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "463" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "181" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "264" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "284" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "345" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "337" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "208" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/supa-od-graska-sa-sampanjcem-2" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "92" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "199" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "8" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "83" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/italijanska-caprese-salata-na-drugaciji-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "247" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "41" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "91" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "219" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/vruce-kiflice-za-hladne-dane" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "221" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/5-poklona-iz-japana" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/africki-crni-sapun" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "96" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/brzi-lagani-povrtni-rucak" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/dorucak-koji-stoji-preko-noci-zobene-pahuljice-sa-jabukom-i-cimetom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "113" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "67" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "64" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "556" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "89" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "72" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/limunova-trava" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/pet-detalja-sape-ruzina-voda" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/ustipci-sa-jabukama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/10-savjeta-za-uspjesnu-kupovinu-poklona" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "115" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/arapski-dorucak-manakish" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "120" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/borba-protiv-krpa-za-jednokratnu-upotrebu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/bozanstvena-napolitanska-pizza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/brzi-povrtni-curry-sa-klincicima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/cicoke-zato-ih-treba-jesti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/crvene-narandze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/danska-vecera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/dressing-za-salate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/energetske-kuglice-sa-pistacijem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/furoshiki-japanski-nacin-pakovanja-poklona-bez-papira-i-plastike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/jednostavna-pasta-salata" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "144" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kako-napraviti-domaci-musli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kiflice-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/korpe-za-ves-sa-stilom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kruh-sa-medom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/la-recova-malaga-dorucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/ljekovita-snaga-mirisnog-limunovca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "172" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "545" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/metro-keramicke-plocice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/mirisni-curry-sa-krompirom-i-karfiolom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "142" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/namaz-od-suvih-smokava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/napola-ukiseljeni-krastavci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/netflix-serije-unorthodox" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/paprike-punjene-krompirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "177" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/pet-jela-od-krompira" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/ponedjeljak-bez-mesa-couscous-sa-grilanim-tikvicama-i-susenim-paradajzom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/prakticni-kuhinjski-detalji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-dragane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-jovane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/prica-o-medenjacima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/royal-copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/sedam-jela-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/sirove-punjene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/stare-stolice-kao-ukrasi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/sweet-potato-mali-zalogaji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/ulje-japanske-metvice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/usecerene-jabuke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/vegeterijanska-minestrone-supa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/vegeterijanski-burrito" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "97" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/zdrava-hrana-crne-boje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "/zdrave-kuglice-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "565" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "1201" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "750" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "145" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "715" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "453" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "206" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "126" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "146" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "250" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "526" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "35" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "61" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "30" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/zato-treba-izbjegavati-palminu-mast" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "145" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "136" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/lasagne-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "74" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "288" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/novi-trendovi-pranje-kose-bez-sampona" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "250" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "45" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "62" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "176" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/10-savjeta-za-uspjesnu-kupovinu-poklona" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "145" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/5-namirnica-koje-uvijek-imam-u-frizideru" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "106" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/energetske-kuglice-sa-pistacijem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "21" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "190" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/lijeni-kroasani" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "112" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/miris-kafe-u-parfumeriji" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "77" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/pire-od-krompira-na-5-nacina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/pita-krompirusa-sa-susenim-vlascem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "74" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "117" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "46" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/risotto-sa-portobello-gljivama" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "77" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/tjestenina-sa-pecenim-paprikama-i-daskom-mediterana" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/visece-saksije" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/aktivni-ugalj-prociscavac-vode" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/aleppo-kristalni-kamen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/arapski-dorucak-manakish" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/banana-kolac-sa-tamnom-cokoladom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/bijela-palenta-i-ragu-od-gljiva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/boje-u-kuhinji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/brzi-lagani-povrtni-rucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/caj-vjecni-zivot" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/dorucak-koji-stoji-preko-noci-zobene-pahuljice-sa-jabukom-i-cimetom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/ethos-kako-da-ne-sprzis-kafu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/flaster-rasizam" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/glazirani-mladi-krompir-sa-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/inspirativne-price-1000-hobotnica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/iz-jedne-engleske-baste" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "207" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/jednostavno-jelo-od-zelene-lece" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kefir-smoothie-sa-borovnicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/korpice-od-parmezana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "127" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kruh-sa-medom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "149" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/lupini-salata" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "255" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/malaga-srce-andaluzije" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/mali-medni-poklopci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "86" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/metro-keramicke-plocice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/najlaksi-nacin-da-zavolis-heljdu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "147" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/peceni-kupus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/pet-detalja-sape-ruzina-voda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/pomagala-za-pravljenje-torti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/praznicni-kolac-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/punjene-medjoul-datule" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/ruzno-i-smrdljivo-voce" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/salata-od-slanutka-i-brokula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "195" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/sirove-punjene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/skriveni-secer" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/sta-nas-moze-nauciti-hobotnica-i-zasto-bi-svi-trebali-pogledati-dokumentarni-film-my-octopus-teacher" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/u-modi-su-balkoni" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "43" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "/zdrava-hrana-u-srcu-banja-luke" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "74" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "727" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "553" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "12" - }, - { - "value": "15" - }, - { - "value": "756" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "296" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "787" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "350" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "660" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "122" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "564" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "133" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "188" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "363" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "175" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "123" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "404" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kako-kuhati-na-pari" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "192" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kako-lako-pripremiti-articoke" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "432" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "141" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "75" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/5-najboljih-bozicnih-filmova" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "237" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "197" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/americki-kukuruzni-kruh" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/bozic-u-danskoj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/dorucak-koji-stoji-preko-noci-zobene-pahuljice-sa-jabukom-i-cimetom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "155" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "99" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "210" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kako-je-sendvic-dobio-ime" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "246" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/malaga-srce-andaluzije" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "236" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/pecene-paprike" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "56" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/posuda-za-pranje-salate" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "174" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/prica-o-medenjacima" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "107" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/setnja-kroz-tivoli" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/10-zanimljivosti-o-zivotu-u-danskoj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "89" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/brisel-grad-piva-cokolade-i-eu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/brzi-ustipci-sa-tikvicama" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/brzo-djumbir-pivo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/caj-od-ruze" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/crni-ugalj-za-bijele-zube" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/danske-kuce-sa-slamnatim-krovom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/danske-zene-preko-65-najsretnije-u-evropi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/danski-kolac-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/digestive-keks-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/dorucak-sa-proteinom-graska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/dva-pomagala-za-uspjesniju-praznicnu-veceru" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/havajska-so-novi-zacin-u-mojoj-kuhinji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/ikigai-japanska-tajna-dugog-sretnog-zivota" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/italijanska-caprese-salata-na-drugaciji-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kakao-napitak-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "96" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kassava-yuca-povrce-buducnosti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kruh-kamenog-doba" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kuglice-sa-zobenim-mekinjama-i-kokosom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kuhinjske-price-ikea-sitnice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kuhinjske-price-table-za-pisanje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/limunova-trava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/mali-medni-poklopci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/metro-keramicke-plocice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/morski-sipak-nar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/noletove-super-pahuljice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/novi-trend-bambus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "130" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/pablo-pikaso-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "139" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/pasteta-po-ukusu-jednog-svjetskog-kulinara" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/plavi-krompir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "138" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/plavi-razlicak-caj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/salata-od-slanutka-i-brokula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/salata-sa-heljdom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/skandinavci-obozavaju-jedan-mali-ormar-zasto-ga-ikea-ne-zeli-vise-prodavati" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/skriveni-secer" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/slavski-kolac-i-slikanje-na-svili" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/torvehallerne-zatvorena-trznica-u-kopenhagenu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/trendovi-stare-secernice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/visece-saksije" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/zasto-japanke-stavljaju-ruku-na-usta-kad-se-smiju" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/zasto-se-plasticne-slamcice-izbacuju-iz-upotrebe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "/zasto-zaustavljena-prodajaj-omeksivaca-rublja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/brza-kukuruza" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "705" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "23" - }, - { - "value": "23" - }, - { - "value": "1119" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "1007" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "9" - }, - { - "value": "493" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/najbolje-i-najbrze-kiflice" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "235" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "100" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/krompir-u-kaputu" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "165" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "46" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "30" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "138" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kako-napraviti-posirano-jaje" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "251" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "73" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "208" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/page/33" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/ustipci-sa-kvascem" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "21" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "141" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/5-dobrih-razloga-zasto-zapoceti-dan-zobenom-kasom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/brownies-sa-bijelom-cokoladom" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "29" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/chapati-tanki-kruh" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/energetske-kuglice-sa-pistacijem" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/jednostavna-pogaca" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "38" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kuhinjske-price-table-za-pisanje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/marmite-volis-ili-ne-volis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "89" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/mini-baby-povrce" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/pire-od-krompira-na-5-nacina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "78" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "411" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/provola" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/serviraj-za-pobjedu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "226" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/7-supa-bez-mesa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/biljke-mesozderi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/buratta-ljubav-na-prvi-zalogaj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/domaci-sladoled-na-stapicu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/ezme-turski-pikantni-sos" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "132" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "102" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/jednostavni-keksici-bez-secera" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/jovanina-plazma-torta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kajgana-u-serpi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "195" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kako-napraviti-domaci-jogurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kako-pravilno-cuvati-zacine" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kako-pripremiti-brunch" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/karamelizirani-bademi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/korpe-za-ves-sa-stilom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/krompir-na-milion-nacina-rosti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "201" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kruh-sa-medom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/ljekovita-snaga-mirisnog-limunovca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/moderne-mame" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/moja-lista-5-kuhinjskih-zelja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/mracne-tajne-prehrambene-industrije-ljepilo-za-meso" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/najbolji-kruh-na-svijetu" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/najmanji-paradajz-na-svijetu-zdrava-lenja-pita" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/neobicne-zacinske-biljke-kari" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/novi-trend-bambus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/oopsie-pecivo-bez-brasna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/pecena-muskatna-tikva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "134" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/pinjoli" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/ponedjeljak-bez-mesa-restovani-krompir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/posna-sarma" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/prakticni-kuhinjski-detalji" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/proteinska-skyr-peciva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/sarma-sa-orasima-2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "200" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/sezona-sparoga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/sicilijanski-suvenir-pigna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/sirove-punjene-paprike" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/sta-nas-moze-nauciti-hobotnica-i-zasto-bi-svi-trebali-pogledati-dokumentarni-film-my-octopus-teacher" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/zasto-japanci-nose-maske-na-ustima" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "134" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_report_imported_locations.json b/fixture/ga4_report_imported_locations.json deleted file mode 100644 index cab0e8504a44ad1f64505bd62057d4b688804753..0000000000000000000000000000000000000000 --- a/fixture/ga4_report_imported_locations.json +++ /dev/null @@ -1,75654 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - }, - { - "name": "countryId" - }, - { - "name": "region" - }, - { - "name": "city" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Amsterdam" - }, - "metricHeaders": [ - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - }, - { - "name": "totalUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "sessions", - "type": "TYPE_INTEGER" - }, - { - "name": "bounces", - "type": "TYPE_INTEGER" - }, - { - "name": "userEngagementDuration", - "type": "TYPE_SECONDS" - } - ], - "rowCount": 2291, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "36" - }, - { - "value": "16" - }, - { - "value": "18" - }, - { - "value": "8" - }, - { - "value": "486" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "23" - }, - { - "value": "24" - }, - { - "value": "6" - }, - { - "value": "810" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "165" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "491" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "242" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "186" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "254" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "270" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "CA" - }, - { - "value": "British Columbia" - }, - { - "value": "Vanderhoof" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "Vukovar-Srijem County" - }, - { - "value": "Vukovar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Rozaje Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "AT" - }, - { - "value": "Tyrol" - }, - { - "value": "Innsbruck" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "AU" - }, - { - "value": "New South Wales" - }, - { - "value": "Wollongong" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "CA" - }, - { - "value": "Alberta" - }, - { - "value": "Calgary" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "CA" - }, - { - "value": "Alberta" - }, - { - "value": "Stettler" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Nuremberg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "DE" - }, - { - "value": "Hamburg" - }, - { - "value": "Hamburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "EG" - }, - { - "value": "Gharbia Governorate" - }, - { - "value": "Basyoun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "ES" - }, - { - "value": "Andalusia" - }, - { - "value": "Malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "ES" - }, - { - "value": "Valencian Community" - }, - { - "value": "Valencia" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Colombes" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Paris" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Sesvete" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "363" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "Karlovac County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "HU" - }, - { - "value": "Baranya" - }, - { - "value": "Pecs" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "66351" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "ID" - }, - { - "value": "North Sulawesi" - }, - { - "value": "Likupang Barat" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "41262" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "Municipality of Kumanovo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "NO" - }, - { - "value": "Viken" - }, - { - "value": "Sarpsborg Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "PK" - }, - { - "value": "Islamabad Capital Territory" - }, - { - "value": "Islamabad" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Jagodina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Kovin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "SE" - }, - { - "value": "Gavleborg County" - }, - { - "value": "Gavle" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "XK" - }, - { - "value": "District of Prishtine" - }, - { - "value": "Pristina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "CA" - }, - { - "value": "Yukon" - }, - { - "value": "Whitehorse" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "39" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "659" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "20" - }, - { - "value": "20" - }, - { - "value": "4" - }, - { - "value": "672" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "11" - }, - { - "value": "156" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "172" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "281" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "250" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Toronto" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "US" - }, - { - "value": "Ohio" - }, - { - "value": "Middletown" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "BR" - }, - { - "value": "State of Sao Paulo" - }, - { - "value": "13175" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "CH" - }, - { - "value": "Aargau" - }, - { - "value": "Oftringen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "CH" - }, - { - "value": "Zug" - }, - { - "value": "Zug" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Bretzfeld" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Oberndorf" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "DE" - }, - { - "value": "Rhineland-Palatinate" - }, - { - "value": "Mainz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "DE" - }, - { - "value": "Rhineland-Palatinate" - }, - { - "value": "Remagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "DK" - }, - { - "value": "Region of Southern Denmark" - }, - { - "value": "Otterup" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "HR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "HR" - }, - { - "value": "Koprivnica-Krizevci County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "Bangkalan Regency" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "IE" - }, - { - "value": "County Cork" - }, - { - "value": "Cork" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "MK" - }, - { - "value": "Municipality of Bitola" - }, - { - "value": "Bitola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9912" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "NL" - }, - { - "value": "North Brabant" - }, - { - "value": "Eindhoven" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Arandjelovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Despotovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sremska Mitrovica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Malmo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "US" - }, - { - "value": "Arizona" - }, - { - "value": "Peoria" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "XK" - }, - { - "value": "District of Prizren" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "22" - }, - { - "value": "23" - }, - { - "value": "8" - }, - { - "value": "1130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "10" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "5" - }, - { - "value": "105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "161" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Toronto" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "LU" - }, - { - "value": "(not set)" - }, - { - "value": "Luxembourg" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Hamilton" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "FR" - }, - { - "value": "Hauts-de-France" - }, - { - "value": "59166" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sremska Mitrovica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "US" - }, - { - "value": "Pennsylvania" - }, - { - "value": "Harleysville" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "AE" - }, - { - "value": "Sharjah" - }, - { - "value": "Sharjah" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prnjavor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "BA" - }, - { - "value": "Zenica-Doboj Canton" - }, - { - "value": "Tesanj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Dortmund" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Langenfeld" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "HR" - }, - { - "value": "Brod-Posavina County" - }, - { - "value": "Slavonski Brod" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "162" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "Dubrovnik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "Samobor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Milan" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Arandjelovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kraljevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Pozega" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Bac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Stockholm" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "US" - }, - { - "value": "Virginia" - }, - { - "value": "Ashburn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "48" - }, - { - "value": "40" - }, - { - "value": "41" - }, - { - "value": "14" - }, - { - "value": "1379" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "35" - }, - { - "value": "31" - }, - { - "value": "31" - }, - { - "value": "14" - }, - { - "value": "908" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "729" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "189" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "232" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "281" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "CL" - }, - { - "value": "Atacama" - }, - { - "value": "Copiapo" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Frederiksvaerk" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "NL" - }, - { - "value": "North Holland" - }, - { - "value": "Amsterdam" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "NL" - }, - { - "value": "North Holland" - }, - { - "value": "Julianadorp" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Municipality of Medvode" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "106" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "CH" - }, - { - "value": "Basel-Landschaft" - }, - { - "value": "Gelterkinden" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "SI" - }, - { - "value": "Ormoz" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "XK" - }, - { - "value": "District of Prizren" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "AU" - }, - { - "value": "New South Wales" - }, - { - "value": "Sydney" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "405" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Brcko District" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Zvornik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "CH" - }, - { - "value": "Canton of Bern" - }, - { - "value": "Lyss" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Rumlang" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Donauworth" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Kahl am Main" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "ES" - }, - { - "value": "Catalonia" - }, - { - "value": "Barcelona" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "FR" - }, - { - "value": "Nouvelle-Aquitaine" - }, - { - "value": "Bordeaux" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "HR" - }, - { - "value": "Brod-Posavina County" - }, - { - "value": "Slavonski Brod" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "Dubrovnik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "200" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "ME" - }, - { - "value": "Budva Municipality" - }, - { - "value": "Budva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Brestovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cuprija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kraljevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Petrovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Sopic" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "SE" - }, - { - "value": "Jonkoping County" - }, - { - "value": "Tranas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "SI" - }, - { - "value": "Jesenice" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "US" - }, - { - "value": "Connecticut" - }, - { - "value": "Windsor Locks" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "US" - }, - { - "value": "Kansas" - }, - { - "value": "Kansas City" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "US" - }, - { - "value": "Ohio" - }, - { - "value": "Tallmadge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "US" - }, - { - "value": "Virginia" - }, - { - "value": "Ashburn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "XK" - }, - { - "value": "District of Mitrovice" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Erlensee" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "48" - }, - { - "value": "41" - }, - { - "value": "42" - }, - { - "value": "19" - }, - { - "value": "1392" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "21" - }, - { - "value": "22" - }, - { - "value": "12" - }, - { - "value": "410" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "7" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "263" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "US" - }, - { - "value": "Pennsylvania" - }, - { - "value": "Philadelphia" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "132" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "FR" - }, - { - "value": "Auvergne-Rhone-Alpes" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "183" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "TJ" - }, - { - "value": "(not set)" - }, - { - "value": "Dushanbe" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Oberursel" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "IL" - }, - { - "value": "Center District" - }, - { - "value": "Holon" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "202" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Eisenerz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1086" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "CH" - }, - { - "value": "Basel City" - }, - { - "value": "Basel" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Dubendorf" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Dreieich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "DE" - }, - { - "value": "Schleswig-Holstein" - }, - { - "value": "Flensburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "ES" - }, - { - "value": "Andalusia" - }, - { - "value": "Seville" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "FI" - }, - { - "value": "Uusimaa" - }, - { - "value": "Vantaa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "Dubrovnik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "ID" - }, - { - "value": "Gorontalo" - }, - { - "value": "Suwawa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Rozaje Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Tivat Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "NL" - }, - { - "value": "Friesland" - }, - { - "value": "8565" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "NL" - }, - { - "value": "North Holland" - }, - { - "value": "Den Helder" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Vranje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Vallentuna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "SI" - }, - { - "value": "Cerknica" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "SI" - }, - { - "value": "Novo Mesto" - }, - { - "value": "Novo Mesto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "SK" - }, - { - "value": "Presov Region" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "US" - }, - { - "value": "North Carolina" - }, - { - "value": "Mount Airy" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "US" - }, - { - "value": "Ohio" - }, - { - "value": "Euclid" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "25" - }, - { - "value": "28" - }, - { - "value": "5" - }, - { - "value": "1804" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "18" - }, - { - "value": "19" - }, - { - "value": "11" - }, - { - "value": "514" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "493" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "441" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "267" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "323" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Brcko District" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "262" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "US" - }, - { - "value": "Ohio" - }, - { - "value": "Pleasant Township" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BR" - }, - { - "value": "State of Minas Gerais" - }, - { - "value": "Timoteo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Paris" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "MK" - }, - { - "value": "Municipality of Gevgelija" - }, - { - "value": "Gevgelija" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Malmo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prnjavor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "BA" - }, - { - "value": "Tuzla Canton" - }, - { - "value": "Gracanica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "CH" - }, - { - "value": "Aargau" - }, - { - "value": "Windisch" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "CH" - }, - { - "value": "Basel City" - }, - { - "value": "Basel" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "CH" - }, - { - "value": "Thurgau" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "CN" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Konigsbrunn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "DE" - }, - { - "value": "Hamburg" - }, - { - "value": "Hamburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "DE" - }, - { - "value": "Saxony" - }, - { - "value": "Meerane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "ES" - }, - { - "value": "Catalonia" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "FR" - }, - { - "value": "Occitanie" - }, - { - "value": "11210" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "HR" - }, - { - "value": "Vukovar-Srijem County" - }, - { - "value": "Vukovar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Podgorica Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "ME" - }, - { - "value": "Budva Municipality" - }, - { - "value": "Budva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "NO" - }, - { - "value": "Vestfold og Telemark" - }, - { - "value": "Tonsberg Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Novi Pazar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Popovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Sopic" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Vargarda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Municipality of Medvode" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "US" - }, - { - "value": "Connecticut" - }, - { - "value": "Windsor Locks" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "US" - }, - { - "value": "Georgia" - }, - { - "value": "Metter" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "US" - }, - { - "value": "Indiana" - }, - { - "value": "Crown Point" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "US" - }, - { - "value": "Louisiana" - }, - { - "value": "Plain Dealing" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "51" - }, - { - "value": "34" - }, - { - "value": "34" - }, - { - "value": "11" - }, - { - "value": "1155" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "36" - }, - { - "value": "24" - }, - { - "value": "26" - }, - { - "value": "13" - }, - { - "value": "896" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "492" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "226" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "249" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "812" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "414" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "164" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "IT" - }, - { - "value": "Piedmont" - }, - { - "value": "Turin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "US" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "CL" - }, - { - "value": "Santiago Metropolitan Region" - }, - { - "value": "Santiago" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Ruma" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "BG" - }, - { - "value": "Sofia City Province" - }, - { - "value": "Sofia" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "CH" - }, - { - "value": "Zug" - }, - { - "value": "Zug" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Heidenheim" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Karlsruhe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Cologne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "FR" - }, - { - "value": "Grand Est" - }, - { - "value": "Fameck" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "FR" - }, - { - "value": "Nouvelle-Aquitaine" - }, - { - "value": "Saint-Marcel-du-Perigord" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "GB" - }, - { - "value": "England" - }, - { - "value": "Brackley" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "HU" - }, - { - "value": "Fejer" - }, - { - "value": "2457" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "IT" - }, - { - "value": "Emilia-Romagna" - }, - { - "value": "Bologna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "IT" - }, - { - "value": "Lazio" - }, - { - "value": "Ostia" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "IT" - }, - { - "value": "Trentino-South Tyrol" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Rozaje Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Tivat Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Jagodina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Novi Pazar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Solna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Arlington Heights" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "43" - }, - { - "value": "28" - }, - { - "value": "29" - }, - { - "value": "12" - }, - { - "value": "929" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "36" - }, - { - "value": "22" - }, - { - "value": "25" - }, - { - "value": "12" - }, - { - "value": "533" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "86" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "Dubrovnik" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "358" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "CH" - }, - { - "value": "Zug" - }, - { - "value": "Zug" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "202" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "262" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "86" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Sesvete" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Vrsac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Central Bosnia Canton" - }, - { - "value": "Travnik" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "CA" - }, - { - "value": "British Columbia" - }, - { - "value": "Burnaby" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "Bangkalan Regency" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Milan" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cuprija" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kraljevo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Sopic" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "AU" - }, - { - "value": "New South Wales" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Brcko District" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "228" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prnjavor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "CH" - }, - { - "value": "Aargau" - }, - { - "value": "Spreitenbach" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Isny im Allgau" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Herne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Wuppertal" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Ballerup" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "DK" - }, - { - "value": "Central Denmark Region" - }, - { - "value": "Aarhus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "191" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "HR" - }, - { - "value": "Karlovac County" - }, - { - "value": "Karlovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "HR" - }, - { - "value": "Sibenik-Knin County" - }, - { - "value": "Sibenik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Velika Plana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sremska Mitrovica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Elmwood Park" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Skokie" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "65" - }, - { - "value": "31" - }, - { - "value": "32" - }, - { - "value": "14" - }, - { - "value": "913" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "28" - }, - { - "value": "29" - }, - { - "value": "9" - }, - { - "value": "711" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "506" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sremska Mitrovica" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "147" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "151" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "214" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Trelleborg" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "147" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "CA" - }, - { - "value": "Alberta" - }, - { - "value": "Lethbridge" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Traunreut" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "ID" - }, - { - "value": "North Sulawesi" - }, - { - "value": "Beo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "ID" - }, - { - "value": "North Sulawesi" - }, - { - "value": "Likupang Barat" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "134" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "SE" - }, - { - "value": "Vastmanland County" - }, - { - "value": "Vasteras" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "US" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "AU" - }, - { - "value": "New South Wales" - }, - { - "value": "Newcastle" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "BA" - }, - { - "value": "Central Bosnia Canton" - }, - { - "value": "Travnik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "CH" - }, - { - "value": "Thurgau" - }, - { - "value": "Frauenfeld" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Erlangen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Straubing" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "FR" - }, - { - "value": "Auvergne-Rhone-Alpes" - }, - { - "value": "Lyon" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Vukovar-Srijem County" - }, - { - "value": "Vukovar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "Velika Gorica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "ID" - }, - { - "value": "Gorontalo" - }, - { - "value": "Suwawa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "ID" - }, - { - "value": "Papua" - }, - { - "value": "Bruyadori" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "IE" - }, - { - "value": "County Cork" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Milan" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Zabljak Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "MT" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "NL" - }, - { - "value": "Limburg" - }, - { - "value": "5928" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Raca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "43" - }, - { - "value": "37" - }, - { - "value": "37" - }, - { - "value": "16" - }, - { - "value": "1543" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "40" - }, - { - "value": "26" - }, - { - "value": "27" - }, - { - "value": "14" - }, - { - "value": "625" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "132" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "299" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "257" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "355" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BA" - }, - { - "value": "Central Bosnia Canton" - }, - { - "value": "Travnik" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "262" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "CA" - }, - { - "value": "British Columbia" - }, - { - "value": "Port Coquitlam" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Valjevo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "AL" - }, - { - "value": "Tirana County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "AT" - }, - { - "value": "Tyrol" - }, - { - "value": "Innsbruck" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BA" - }, - { - "value": "Zenica-Doboj Canton" - }, - { - "value": "Tesanj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "BR" - }, - { - "value": "State of Sao Paulo" - }, - { - "value": "06843" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Toronto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Roxton Pond" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "CH" - }, - { - "value": "Basel City" - }, - { - "value": "Basel" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "CH" - }, - { - "value": "Grisons" - }, - { - "value": "Saint Moritz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "CL" - }, - { - "value": "Santiago Metropolitan Region" - }, - { - "value": "Santiago" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Offenburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Heusenstamm" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "DE" - }, - { - "value": "Mecklenburg-Vorpommern" - }, - { - "value": "Greifswald" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Cologne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "EG" - }, - { - "value": "Gharbia Governorate" - }, - { - "value": "Basyoun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "FR" - }, - { - "value": "Hauts-de-France" - }, - { - "value": "59166" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "HK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "HR" - }, - { - "value": "Bjelovar-Bilogora County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "ME" - }, - { - "value": "Budva Municipality" - }, - { - "value": "Budva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Jagodina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Sremcica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Lukino Selo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "SE" - }, - { - "value": "Norrbotten County" - }, - { - "value": "Kalix" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "US" - }, - { - "value": "Virginia" - }, - { - "value": "Ashburn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "96" - }, - { - "value": "51" - }, - { - "value": "51" - }, - { - "value": "19" - }, - { - "value": "1632" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "61" - }, - { - "value": "36" - }, - { - "value": "38" - }, - { - "value": "12" - }, - { - "value": "1109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "6" - }, - { - "value": "506" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "8" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "433" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "187" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "171" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "165" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "849" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Nuremberg" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankenberg (Eder)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "340" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "785" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Kempten" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "110" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Munster" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Simanovci" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Kassel" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Russelsheim" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Pozega-Slavonia County" - }, - { - "value": "Pozega" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "218" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Valjevo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "SE" - }, - { - "value": "Ostergotland County" - }, - { - "value": "Motala" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "UA" - }, - { - "value": "Chernivtsi Oblast" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "US" - }, - { - "value": "Virginia" - }, - { - "value": "Ashburn" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Baden bei Wien" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Korneuburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Brcko District" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prnjavor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "BA" - }, - { - "value": "Zenica-Doboj Canton" - }, - { - "value": "Tesanj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "London" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Dorval" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "CH" - }, - { - "value": "Aargau" - }, - { - "value": "Aarau" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "CH" - }, - { - "value": "Canton of Bern" - }, - { - "value": "Steffisburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "CH" - }, - { - "value": "Lucerne" - }, - { - "value": "Wolhusen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Lenting" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Hamburg" - }, - { - "value": "Hamburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "136" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Osnabruck" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Mecklenburg-Vorpommern" - }, - { - "value": "17209" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Cologne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Moers" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Rhineland-Palatinate" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DE" - }, - { - "value": "Rhineland-Palatinate" - }, - { - "value": "Neuwied" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "FR" - }, - { - "value": "Grand Est" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Buc" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Paris" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Bjelovar-Bilogora County" - }, - { - "value": "Bjelovar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Koprivnica-Krizevci County" - }, - { - "value": "Koprivnica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "Bangkalan Regency" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "IE" - }, - { - "value": "County Cork" - }, - { - "value": "Cork" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "IT" - }, - { - "value": "Campania" - }, - { - "value": "Naples" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "NL" - }, - { - "value": "North Holland" - }, - { - "value": "Haarlem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "NO" - }, - { - "value": "Vestland" - }, - { - "value": "Bergen Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Popovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Uzice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Vladimirovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Stockholm" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "SE" - }, - { - "value": "Vasternorrland County" - }, - { - "value": "Sundsvall" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "SI" - }, - { - "value": "Jesenice" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "US" - }, - { - "value": "Georgia" - }, - { - "value": "Atlanta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Darien" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "112" - }, - { - "value": "33" - }, - { - "value": "34" - }, - { - "value": "11" - }, - { - "value": "1916" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "64" - }, - { - "value": "41" - }, - { - "value": "41" - }, - { - "value": "18" - }, - { - "value": "1285" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "7" - }, - { - "value": "306" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "3" - }, - { - "value": "153" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "136" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "185" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Nuremberg" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Kikinda" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "270" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "AU" - }, - { - "value": "Tasmania" - }, - { - "value": "Launceston" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "327" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "IT" - }, - { - "value": "Sicily" - }, - { - "value": "Catania" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Jagodina" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Simanovci" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "SE" - }, - { - "value": "Ostergotland County" - }, - { - "value": "Norrkoping" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "Central Bosnia Canton" - }, - { - "value": "Travnik" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Toronto" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "CZ" - }, - { - "value": "Prague" - }, - { - "value": "Prague" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "Dubrovnik" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "66351" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Herceg Novi Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "ME" - }, - { - "value": "Budva Municipality" - }, - { - "value": "Budva" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "PT" - }, - { - "value": "Lisbon" - }, - { - "value": "Lisbon" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Korneuburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "BA" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "CH" - }, - { - "value": "Fribourg" - }, - { - "value": "Fribourg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "CH" - }, - { - "value": "Ticino" - }, - { - "value": "Lugano" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Heilbronn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Mannheim" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "221" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "21447" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Essen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Hilchenbach" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Lippstadt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "DK" - }, - { - "value": "Region Zealand" - }, - { - "value": "Roskilde" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "FR" - }, - { - "value": "Bourgogne-Franche-Comte" - }, - { - "value": "Montbeliard" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Bondy" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "FR" - }, - { - "value": "Occitanie" - }, - { - "value": "11210" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "GR" - }, - { - "value": "Decentralized Administration of Macedonia and Thrace" - }, - { - "value": "Thessaloniki" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "HR" - }, - { - "value": "Krapina-Zagorje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Mali Losinj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "41262" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "IL" - }, - { - "value": "Jerusalem District" - }, - { - "value": "Jerusalem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "IT" - }, - { - "value": "Lazio" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "Municipality of Kumanovo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9944" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Valjevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sombor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "SE" - }, - { - "value": "Halland County" - }, - { - "value": "Halmstad" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Helsingborg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "SE" - }, - { - "value": "Varmland County" - }, - { - "value": "Filipstad" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Boras" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Fargelanda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "SI" - }, - { - "value": "Velenje" - }, - { - "value": "Velenje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Chicago" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "US" - }, - { - "value": "Michigan" - }, - { - "value": "Dearborn Heights" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "US" - }, - { - "value": "Pennsylvania" - }, - { - "value": "Erie" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "120" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "2210" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DZ" - }, - { - "value": "Algiers Province" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "90" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1581" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TR" - }, - { - "value": "Ankara" - }, - { - "value": "Ankara" - } - ], - "metricValues": [ - { - "value": "90" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1592" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CN" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "88" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1362" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "79" - }, - { - "value": "49" - }, - { - "value": "49" - }, - { - "value": "21" - }, - { - "value": "1256" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ES" - }, - { - "value": "Andalusia" - }, - { - "value": "Malaga" - } - ], - "metricValues": [ - { - "value": "77" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1455" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BD" - }, - { - "value": "Dhaka Division" - }, - { - "value": "Dhaka" - } - ], - "metricValues": [ - { - "value": "70" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1326" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Milan" - } - ], - "metricValues": [ - { - "value": "61" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "963" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Brussels" - }, - { - "value": "Brussels" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1065" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ET" - }, - { - "value": "Addis Ababa" - }, - { - "value": "Addis Ababa" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1088" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1067" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IQ" - }, - { - "value": "Baghdad Governorate" - }, - { - "value": "Baghdad" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MD" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1067" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MM" - }, - { - "value": "Yangon Region" - }, - { - "value": "Yangon" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MX" - }, - { - "value": "Oaxaca" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1032" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MX" - }, - { - "value": "Veracruz" - }, - { - "value": "Heroica Veracruz" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1089" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "NL" - }, - { - "value": "North Holland" - }, - { - "value": "Amsterdam" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1087" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "OM" - }, - { - "value": "Muscat Governorate" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RU" - }, - { - "value": "Saint Petersburg" - }, - { - "value": "Saint Petersburg" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1016" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SA" - }, - { - "value": "Riyadh Province" - }, - { - "value": "Riyadh" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "Burbank" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1079" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RU" - }, - { - "value": "Moscow" - }, - { - "value": "Moscow" - } - ], - "metricValues": [ - { - "value": "55" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1026" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Rhineland-Palatinate" - }, - { - "value": "Grunstadt" - } - ], - "metricValues": [ - { - "value": "54" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1027" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ID" - }, - { - "value": "Jakarta" - }, - { - "value": "Jakarta" - } - ], - "metricValues": [ - { - "value": "53" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "786" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "VN" - }, - { - "value": "Thanh Hoa" - }, - { - "value": "Thanh Hoa" - } - ], - "metricValues": [ - { - "value": "47" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "822" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "25" - }, - { - "value": "25" - }, - { - "value": "11" - }, - { - "value": "675" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AL" - }, - { - "value": "Tirana County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "510" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AR" - }, - { - "value": "Buenos Aires Province" - }, - { - "value": "Ezeiza" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "558" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AR" - }, - { - "value": "Buenos Aires Province" - }, - { - "value": "Ramos Mejia" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "498" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Baden bei Wien" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "476" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Krems an der Donau" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "471" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AU" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "532" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AZ" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "511" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AZ" - }, - { - "value": "(not set)" - }, - { - "value": "Baku" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "511" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BD" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "603" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BG" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "525" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BO" - }, - { - "value": "Santa Cruz Department" - }, - { - "value": "Santa Cruz de la Sierra" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "633" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BR" - }, - { - "value": "State of Bahia" - }, - { - "value": "Salvador" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "471" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BR" - }, - { - "value": "State of Espirito Santo" - }, - { - "value": "Vila Velha" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "385" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BR" - }, - { - "value": "State of Maranhao" - }, - { - "value": "Sao Luis" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "537" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BR" - }, - { - "value": "State of Parana" - }, - { - "value": "Cianorte" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "512" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BR" - }, - { - "value": "State of Parana" - }, - { - "value": "Curitiba" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "506" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BR" - }, - { - "value": "State of Rio Grande do Norte" - }, - { - "value": "Natal" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "503" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BR" - }, - { - "value": "State of Sao Paulo" - }, - { - "value": "Itapevi" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "444" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BR" - }, - { - "value": "State of Sao Paulo" - }, - { - "value": "Sao Paulo" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "568" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CA" - }, - { - "value": "Alberta" - }, - { - "value": "Calgary" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "478" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "East Gwillimbury" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "493" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Greater Sudbury" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "491" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CH" - }, - { - "value": "St. Gallen" - }, - { - "value": "Rapperswil-Jona" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "560" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "457" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CO" - }, - { - "value": "Bogota" - }, - { - "value": "Bogota" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "492" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CO" - }, - { - "value": "Bolivar" - }, - { - "value": "Arjona" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "504" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CO" - }, - { - "value": "Tolima" - }, - { - "value": "Ibague" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "514" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "566" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Moers" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "564" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DZ" - }, - { - "value": "Blida Province" - }, - { - "value": "Blida" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "588" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "EG" - }, - { - "value": "Alexandria Governorate" - }, - { - "value": "Alexandria" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "557" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "EG" - }, - { - "value": "Cairo Governorate" - }, - { - "value": "Cairo" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "534" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ES" - }, - { - "value": "Andalusia" - }, - { - "value": "Seville" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "534" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ES" - }, - { - "value": "Asturias" - }, - { - "value": "Gijon" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "522" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ES" - }, - { - "value": "Catalonia" - }, - { - "value": "Barcelona" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "538" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ES" - }, - { - "value": "Galicia" - }, - { - "value": "Ourense" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "551" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ET" - }, - { - "value": "Amhara" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "553" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "FR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "506" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "GB" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "541" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HU" - }, - { - "value": "Heves County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "517" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HU" - }, - { - "value": "Vas County" - }, - { - "value": "Sarvar" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "503" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ID" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "526" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IE" - }, - { - "value": "County Dublin" - }, - { - "value": "Dublin" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "577" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IN" - }, - { - "value": "Punjab" - }, - { - "value": "Amritsar" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "526" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IN" - }, - { - "value": "Uttar Pradesh" - }, - { - "value": "Lucknow" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "451" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IN" - }, - { - "value": "West Bengal" - }, - { - "value": "Kolkata" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "527" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "559" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IR" - }, - { - "value": "East Azerbaijan" - }, - { - "value": "Tabriz" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "559" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IR" - }, - { - "value": "Tehran" - }, - { - "value": "Tehran" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "496" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IT" - }, - { - "value": "Lazio" - }, - { - "value": "Rome" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "569" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "JP" - }, - { - "value": "Hyogo" - }, - { - "value": "Amagasaki" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "535" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "JP" - }, - { - "value": "Hyogo" - }, - { - "value": "Kobe" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "549" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "JP" - }, - { - "value": "Kanagawa" - }, - { - "value": "Kawasaki" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "552" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "JP" - }, - { - "value": "Nara" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "618" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "JP" - }, - { - "value": "Tokyo" - }, - { - "value": "Taito City" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "579" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "KR" - }, - { - "value": "Busan" - }, - { - "value": "Busan" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "521" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "KR" - }, - { - "value": "Chungcheongbuk-do" - }, - { - "value": "Cheongju-si" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "483" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MD" - }, - { - "value": "Gagauzia" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "530" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MG" - }, - { - "value": "(not set)" - }, - { - "value": "Antananarivo" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "553" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ML" - }, - { - "value": "(not set)" - }, - { - "value": "Bamako" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "430" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MW" - }, - { - "value": "Central Region" - }, - { - "value": "Lilongwe" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "514" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MX" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "520" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MX" - }, - { - "value": "Chiapas" - }, - { - "value": "Tuxtla Gutierrez" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "541" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MX" - }, - { - "value": "Mexico City" - }, - { - "value": "Mexico City" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "527" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MX" - }, - { - "value": "Oaxaca" - }, - { - "value": "Santa Cruz Xoxocotlan" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "606" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MX" - }, - { - "value": "Puebla" - }, - { - "value": "Puebla" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "501" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MX" - }, - { - "value": "State of Mexico" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "574" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MY" - }, - { - "value": "Selangor" - }, - { - "value": "Subang Jaya" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "480" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "NA" - }, - { - "value": "Khomas Region" - }, - { - "value": "Windhoek" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "512" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "NC" - }, - { - "value": "(not set)" - }, - { - "value": "Noumea" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "557" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "NG" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "659" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "NG" - }, - { - "value": "Federal Capital Territory" - }, - { - "value": "Abuja" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "527" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "PH" - }, - { - "value": "Northern Mindanao" - }, - { - "value": "Iligan City" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "547" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "PL" - }, - { - "value": "Masovian Voivodeship" - }, - { - "value": "Warsaw" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "520" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "PL" - }, - { - "value": "Silesian Voivodeship" - }, - { - "value": "Katowice" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "451" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RO" - }, - { - "value": "Brasov" - }, - { - "value": "Brasov" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "590" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RU" - }, - { - "value": "Tyumen Oblast" - }, - { - "value": "Tyumen" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "554" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SA" - }, - { - "value": "Makkah Province" - }, - { - "value": "Jeddah" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "563" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TN" - }, - { - "value": "Tunis Governorate" - }, - { - "value": "Tunis" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "516" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "486" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TR" - }, - { - "value": "Istanbul" - }, - { - "value": "Istanbul" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "499" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TR" - }, - { - "value": "Kayseri" - }, - { - "value": "Kayseri" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "517" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TR" - }, - { - "value": "Kirsehir" - }, - { - "value": "Kirsehir" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "492" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TW" - }, - { - "value": "Taipei City" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "486" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TZ" - }, - { - "value": "(not set)" - }, - { - "value": "Dar es Salaam" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "542" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "UA" - }, - { - "value": "Sevastopol" - }, - { - "value": "Sevastopol" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "513" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "Stockton" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "485" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "Florida" - }, - { - "value": "Samoset" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "485" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "New York" - }, - { - "value": "New York" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "592" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "South Carolina" - }, - { - "value": "Fort Mill" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "480" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "VE" - }, - { - "value": "Tachira" - }, - { - "value": "San Cristobal" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "556" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "VN" - }, - { - "value": "Ba Ria - Vung Tau" - }, - { - "value": "Vung Tau" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "598" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ZA" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "439" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ZM" - }, - { - "value": "Lusaka Province" - }, - { - "value": "Lusaka" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "580" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Mechelen" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "507" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MH" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "545" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TH" - }, - { - "value": "Bangkok" - }, - { - "value": "Bangkok" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "464" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Chilly-Mazarin" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "558" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "PH" - }, - { - "value": "Metro Manila" - }, - { - "value": "Quezon City" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "480" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CM" - }, - { - "value": "(not set)" - }, - { - "value": "Douala" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "524" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Saxony" - }, - { - "value": "Zittau" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "503" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "JP" - }, - { - "value": "Chiba" - }, - { - "value": "Chiba" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "496" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "VN" - }, - { - "value": "Quang Ninh" - }, - { - "value": "Cam Pha" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "355" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IN" - }, - { - "value": "Karnataka" - }, - { - "value": "Davanagere" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "433" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HU" - }, - { - "value": "Bacs-Kiskun" - }, - { - "value": "Kecskemet" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "373" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "Florida" - }, - { - "value": "North Weeki Wachee" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "436" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "Arizona" - }, - { - "value": "Sedona" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "429" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "New Jersey" - }, - { - "value": "Wayne" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "394" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "5" - }, - { - "value": "749" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CR" - }, - { - "value": "San Jose Province" - }, - { - "value": "San Vicente" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "463" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Forchheim" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "427" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ZA" - }, - { - "value": "Gauteng" - }, - { - "value": "Johannesburg" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "325" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "341" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "306" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BD" - }, - { - "value": "(not set)" - }, - { - "value": "Rajshahi" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "324" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "JP" - }, - { - "value": "Niigata" - }, - { - "value": "Gosen" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "299" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TH" - }, - { - "value": "Nakhon Ratchasima" - }, - { - "value": "Nakhon Ratchasima" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "360" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "7" - }, - { - "value": "10" - }, - { - "value": "5" - }, - { - "value": "206" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "206" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IN" - }, - { - "value": "Rajasthan" - }, - { - "value": "Kota" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "335" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Bremen" - }, - { - "value": "Bremen" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "341" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ID" - }, - { - "value": "South Kalimantan" - }, - { - "value": "Banjarmasin" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "288" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "PL" - }, - { - "value": "Greater Poland Voivodeship" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "213" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "PL" - }, - { - "value": "Podkarpackie Voivodeship" - }, - { - "value": "Mielec" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "227" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ID" - }, - { - "value": "South Kalimantan" - }, - { - "value": "Banjarbaru" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "237" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ES" - }, - { - "value": "Andalusia" - }, - { - "value": "Alhaurin de la Torre" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "218" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "219" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "VN" - }, - { - "value": "Ha Nam" - }, - { - "value": "Phu Ly" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "222" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IN" - }, - { - "value": "Rajasthan" - }, - { - "value": "Jaipur" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "248" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "JP" - }, - { - "value": "Tokyo" - }, - { - "value": "Ota City" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "185" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TH" - }, - { - "value": "Nakhon Ratchasima" - }, - { - "value": "Ban Mai" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "197" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CR" - }, - { - "value": "Cartago Province" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "122" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Hof" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "343" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ZA" - }, - { - "value": "Gauteng" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "195" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Schelle" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "152" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "Ciseeng" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "PT" - }, - { - "value": "Lisbon" - }, - { - "value": "Lisbon" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "Arizona" - }, - { - "value": "Village of Oak Creek" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "Kentucky" - }, - { - "value": "Mount Vernon" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "New Jersey" - }, - { - "value": "Wyckoff" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "167" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Antwerp" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Rhineland-Palatinate" - }, - { - "value": "Kirchheimbolanden" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "Florida" - }, - { - "value": "Spring Hill" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Oldenburg" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Sisak-Moslavina County" - }, - { - "value": "Sisak" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HU" - }, - { - "value": "Pest County" - }, - { - "value": "Dabas" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "112" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "IN" - }, - { - "value": "Karnataka" - }, - { - "value": "Bengaluru" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RU" - }, - { - "value": "Krasnodar Krai" - }, - { - "value": "Novorossiysk" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Leuven" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Maaseik" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "JP" - }, - { - "value": "Chiba" - }, - { - "value": "Ichikawa" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "PH" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "VN" - }, - { - "value": "Quang Ninh" - }, - { - "value": "Mong Cai" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "153" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Meerhout" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Nijlen" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CM" - }, - { - "value": "Littoral Region" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Hamburg" - }, - { - "value": "Hamburg" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Gottingen" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SE" - }, - { - "value": "Ostergotland County" - }, - { - "value": "Linkoping" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SI" - }, - { - "value": "Logatec" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "US" - }, - { - "value": "Oregon" - }, - { - "value": "Portland" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AU" - }, - { - "value": "New South Wales" - }, - { - "value": "Sydney" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Zoutleeuw" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CH" - }, - { - "value": "Ticino" - }, - { - "value": "Lugano" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Kassel" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Seligenstadt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Hamelin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Osnabruck" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Courbevoie" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9944" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "NL" - }, - { - "value": "South Holland" - }, - { - "value": "Rotterdam" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "PH" - }, - { - "value": "Metro Manila" - }, - { - "value": "Manila" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Petrovac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "AT" - }, - { - "value": "Tyrol" - }, - { - "value": "Innsbruck" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prnjavor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Kapelle-op-den-Bos" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Malle" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CH" - }, - { - "value": "Fribourg" - }, - { - "value": "Bulle" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "CH" - }, - { - "value": "St. Gallen" - }, - { - "value": "St. Gallen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Lingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Gelsenkirchen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Rhineland-Palatinate" - }, - { - "value": "Ludwigshafen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DE" - }, - { - "value": "Schleswig-Holstein" - }, - { - "value": "Norderstedt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "DK" - }, - { - "value": "Region of Southern Denmark" - }, - { - "value": "Aabenraa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ES" - }, - { - "value": "Community of Madrid" - }, - { - "value": "Madrid" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "FR" - }, - { - "value": "Hauts-de-France" - }, - { - "value": "59166" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "FR" - }, - { - "value": "Provence-Alpes-Cote d'Azur" - }, - { - "value": "04270" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Koprivnica-Krizevci County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Koprivnica-Krizevci County" - }, - { - "value": "Koprivnica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "Velika Gorica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HU" - }, - { - "value": "Bacs-Kiskun" - }, - { - "value": "6337" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "HU" - }, - { - "value": "Bacs-Kiskun" - }, - { - "value": "Kiskunfelegyhaza" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "ID" - }, - { - "value": "North Sulawesi" - }, - { - "value": "Likupang Barat" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "NZ" - }, - { - "value": "Auckland" - }, - { - "value": "Auckland" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kraljevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Prokuplje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SE" - }, - { - "value": "Ostergotland County" - }, - { - "value": "Norrkoping" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Lund" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Huddinge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SI" - }, - { - "value": "Crnomelj" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "SI" - }, - { - "value": "Municipality of Trbovlje" - }, - { - "value": "Trbovlje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "TH" - }, - { - "value": "Nonthaburi" - }, - { - "value": "Bang Phai" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "75" - }, - { - "value": "43" - }, - { - "value": "45" - }, - { - "value": "20" - }, - { - "value": "1376" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "50" - }, - { - "value": "32" - }, - { - "value": "34" - }, - { - "value": "15" - }, - { - "value": "784" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "644" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "231" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "432" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kraljevo" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Malmo" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "IT" - }, - { - "value": "Emilia-Romagna" - }, - { - "value": "Ferrara" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Darmstadt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "MT" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Vranje" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Stockholm" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "AU" - }, - { - "value": "New South Wales" - }, - { - "value": "Wollongong" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "CH" - }, - { - "value": "Aargau" - }, - { - "value": "Bad Zurzach" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Sindelfingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Hvidovre" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "169" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "DK" - }, - { - "value": "Region Zealand" - }, - { - "value": "Naestved" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "FR" - }, - { - "value": "Auvergne-Rhone-Alpes" - }, - { - "value": "Montelimar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "155" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Meudon" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Bjelovar-Bilogora County" - }, - { - "value": "Bjelovar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Krapina-Zagorje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Sibenik-Knin County" - }, - { - "value": "Sibenik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "41262" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Romano di Lombardia" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Berane Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9912" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "NL" - }, - { - "value": "Limburg" - }, - { - "value": "Brunssum" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "NO" - }, - { - "value": "Vestland" - }, - { - "value": "Bergen Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Lapovo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Petrovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "265" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sombor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Lund" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "US" - }, - { - "value": "Ohio" - }, - { - "value": "Pleasant Township" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "XK" - }, - { - "value": "District of Gjilan" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "61" - }, - { - "value": "49" - }, - { - "value": "53" - }, - { - "value": "22" - }, - { - "value": "1473" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "49" - }, - { - "value": "34" - }, - { - "value": "35" - }, - { - "value": "13" - }, - { - "value": "1977" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "5" - }, - { - "value": "259" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "6" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "234" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "0" - }, - { - "value": "289" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "CZ" - }, - { - "value": "South Moravian Region" - }, - { - "value": "Blansko" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "GB" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "129" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Stockholm" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "SI" - }, - { - "value": "Administrative unit Maribor" - }, - { - "value": "Maribor" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Saint Polten" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "AT" - }, - { - "value": "Salzburg" - }, - { - "value": "Saalfelden" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Linz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "208" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "BR" - }, - { - "value": "State of Sao Paulo" - }, - { - "value": "18610" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Toronto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Darmstadt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Herborn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "DE" - }, - { - "value": "Saarland" - }, - { - "value": "Sankt Wendel" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "EG" - }, - { - "value": "Gharbia Governorate" - }, - { - "value": "Basyoun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "HR" - }, - { - "value": "Bjelovar-Bilogora County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "HR" - }, - { - "value": "Sisak-Moslavina County" - }, - { - "value": "Sisak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "ID" - }, - { - "value": "Jakarta" - }, - { - "value": "Jakarta" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "IT" - }, - { - "value": "Lazio" - }, - { - "value": "Rome" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "NO" - }, - { - "value": "Oslo" - }, - { - "value": "Oslo Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Arilje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kraljevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Pancevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Ruma" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "179" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "SE" - }, - { - "value": "Dalarna County" - }, - { - "value": "Borlange" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "SE" - }, - { - "value": "Jamtland County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "SE" - }, - { - "value": "Vasternorrland County" - }, - { - "value": "Sundsvall" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "SI" - }, - { - "value": "Izola" - }, - { - "value": "Izola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "California's 17th Congressional District 2022 redistricting" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "US" - }, - { - "value": "Michigan" - }, - { - "value": "Grand Rapids" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "US" - }, - { - "value": "North Carolina" - }, - { - "value": "Mocksville" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "158" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "US" - }, - { - "value": "Ohio" - }, - { - "value": "Columbus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "US" - }, - { - "value": "New York" - }, - { - "value": "Old Forge" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "66" - }, - { - "value": "46" - }, - { - "value": "47" - }, - { - "value": "20" - }, - { - "value": "1456" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "40" - }, - { - "value": "30" - }, - { - "value": "31" - }, - { - "value": "8" - }, - { - "value": "1406" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "3" - }, - { - "value": "655" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "365" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "306" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "423" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "208" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "203" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "307" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "164" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "378" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1494" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "NO" - }, - { - "value": "Oslo" - }, - { - "value": "Oslo Municipality" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "NO" - }, - { - "value": "Viken" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "US" - }, - { - "value": "Texas" - }, - { - "value": "Henderson" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Borken" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "148" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "HU" - }, - { - "value": "Budapest" - }, - { - "value": "Budapest" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "Mojokerto Regency" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "ID" - }, - { - "value": "North Sulawesi" - }, - { - "value": "Beo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "US" - }, - { - "value": "Mississippi" - }, - { - "value": "Horn Lake" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "182" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Wolkersdorf" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "CH" - }, - { - "value": "Lucerne" - }, - { - "value": "Lucerne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "CZ" - }, - { - "value": "Prague" - }, - { - "value": "Prague" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "DE" - }, - { - "value": "Schleswig-Holstein" - }, - { - "value": "Norderstedt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "FR" - }, - { - "value": "Auvergne-Rhone-Alpes" - }, - { - "value": "Annemasse" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "FR" - }, - { - "value": "Auvergne-Rhone-Alpes" - }, - { - "value": "Vichy" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "HU" - }, - { - "value": "Jasz-Nagykun-Szolnok" - }, - { - "value": "5124" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Budva Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "QA" - }, - { - "value": "Doha Municipality" - }, - { - "value": "Doha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Jagodina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Valjevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sremska Mitrovica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RU" - }, - { - "value": "Moscow" - }, - { - "value": "Moscow" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "SE" - }, - { - "value": "Jonkoping County" - }, - { - "value": "Gislaved" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "US" - }, - { - "value": "Massachusetts" - }, - { - "value": "Peabody" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "344" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Arandjelovac" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "80" - }, - { - "value": "63" - }, - { - "value": "64" - }, - { - "value": "18" - }, - { - "value": "2421" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "26" - }, - { - "value": "28" - }, - { - "value": "10" - }, - { - "value": "1408" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "20" - }, - { - "value": "20" - }, - { - "value": "4" - }, - { - "value": "1090" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "11" - }, - { - "value": "14" - }, - { - "value": "6" - }, - { - "value": "315" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "2" - }, - { - "value": "623" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Brod-Posavina County" - }, - { - "value": "Slavonski Brod" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "599" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "465" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "223" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "271" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "276" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "425" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "147" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Asslar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Dusseldorf" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Koprivnica-Krizevci County" - }, - { - "value": "Koprivnica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Milan" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "LU" - }, - { - "value": "(not set)" - }, - { - "value": "Bettembourg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Petrovac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Malmo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Hoffman Estates" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "810" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Central Bosnia Canton" - }, - { - "value": "Travnik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Montreal" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "436" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "CH" - }, - { - "value": "Canton of Bern" - }, - { - "value": "Bern" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "CH" - }, - { - "value": "Canton of Bern" - }, - { - "value": "Langenthal" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "CH" - }, - { - "value": "Lucerne" - }, - { - "value": "Ballwil" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "CH" - }, - { - "value": "Vaud" - }, - { - "value": "Lausanne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Affoltern am Albis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Winterthur" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Boblingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Ludwigsburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Regensburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "Hamburg" - }, - { - "value": "Hamburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "21447" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "DE" - }, - { - "value": "Saxony" - }, - { - "value": "Leipzig" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "ES" - }, - { - "value": "Valencian Community" - }, - { - "value": "Alicante" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "GB" - }, - { - "value": "Wales" - }, - { - "value": "Pontypridd" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Vukovar-Srijem County" - }, - { - "value": "Vinkovci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "IE" - }, - { - "value": "County Wicklow" - }, - { - "value": "Greystones" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "IT" - }, - { - "value": "Piedmont" - }, - { - "value": "Turin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "IT" - }, - { - "value": "Sicily" - }, - { - "value": "Catania" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Uzice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Crepaja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "SE" - }, - { - "value": "Jamtland County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Kristianstad" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "SE" - }, - { - "value": "Vasternorrland County" - }, - { - "value": "Kramfors" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "Mission Viejo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "US" - }, - { - "value": "New Jersey" - }, - { - "value": "Edgewater Park" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "US" - }, - { - "value": "Texas" - }, - { - "value": "Austin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "XK" - }, - { - "value": "District of Prishtine" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "68" - }, - { - "value": "55" - }, - { - "value": "58" - }, - { - "value": "19" - }, - { - "value": "2760" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "38" - }, - { - "value": "31" - }, - { - "value": "34" - }, - { - "value": "12" - }, - { - "value": "923" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "1" - }, - { - "value": "795" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "2" - }, - { - "value": "380" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "752" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "743" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "304" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "227" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "232" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "250" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "406" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "902" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "228" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "290" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "214" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "AT" - }, - { - "value": "Carinthia" - }, - { - "value": "Klagenfurt am Worthersee" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Wels" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Cologne" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Wuppertal" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HU" - }, - { - "value": "Jasz-Nagykun-Szolnok" - }, - { - "value": "5124" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "ME" - }, - { - "value": "Budva Municipality" - }, - { - "value": "Budva" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "SE" - }, - { - "value": "Jamtland County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "AU" - }, - { - "value": "New South Wales" - }, - { - "value": "Wollongong" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "AU" - }, - { - "value": "Western Australia" - }, - { - "value": "Perth" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "BA" - }, - { - "value": "Zenica-Doboj Canton" - }, - { - "value": "Tesanj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Montreal" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "CH" - }, - { - "value": "Ticino" - }, - { - "value": "Lugano" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "CZ" - }, - { - "value": "Prague" - }, - { - "value": "Prague" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Friesenheim" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Rosenheim" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Oldenburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Rheine" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "106" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "EE" - }, - { - "value": "Harju County" - }, - { - "value": "Tallinn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Brod-Posavina County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "Dubrovnik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Umag" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Sisak-Moslavina County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "Samobor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HU" - }, - { - "value": "Bacs-Kiskun" - }, - { - "value": "Kecskemet" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "HU" - }, - { - "value": "Baranya" - }, - { - "value": "7951" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "ID" - }, - { - "value": "Central Java" - }, - { - "value": "54393" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "MD" - }, - { - "value": "Chisinau" - }, - { - "value": "Chisinau" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "MH" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9912" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Arandjelovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Petrovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Sopic" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Progar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sremska Mitrovica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "SE" - }, - { - "value": "Dalarna County" - }, - { - "value": "Malung" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "SE" - }, - { - "value": "Sodermanland County" - }, - { - "value": "Strangnas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "SI" - }, - { - "value": "Krsko" - }, - { - "value": "Krsko" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "SI" - }, - { - "value": "Ravne na Koroskem" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "US" - }, - { - "value": "Maine" - }, - { - "value": "Rumford" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "US" - }, - { - "value": "Ohio" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "58" - }, - { - "value": "42" - }, - { - "value": "44" - }, - { - "value": "14" - }, - { - "value": "1691" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "43" - }, - { - "value": "42" - }, - { - "value": "42" - }, - { - "value": "13" - }, - { - "value": "2313" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "2" - }, - { - "value": "783" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "6" - }, - { - "value": "300" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "6" - }, - { - "value": "170" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "252" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "249" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "182" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "455" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "212" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "135" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "380" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Herzebrock-Clarholz" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Leonding" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "AU" - }, - { - "value": "Australian Capital Territory" - }, - { - "value": "Canberra" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "CN" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "FR" - }, - { - "value": "Occitanie" - }, - { - "value": "11210" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "494" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Danilovgrad Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Ruma" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Malmo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Vocklabruck" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "AU" - }, - { - "value": "Western Australia" - }, - { - "value": "Kalgoorlie - Boulder" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prnjavor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "Tuzla Canton" - }, - { - "value": "Zivinice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Saint-Dominique" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "CH" - }, - { - "value": "Fribourg" - }, - { - "value": "Bulle" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "CN" - }, - { - "value": "Shanghai" - }, - { - "value": "Shanghai" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Solingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "FR" - }, - { - "value": "Hauts-de-France" - }, - { - "value": "59166" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "Dubrovnik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Rovinj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Krapina-Zagorje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Sisak-Moslavina County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "322" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Vukovar-Srijem County" - }, - { - "value": "Vinkovci" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "351" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "HU" - }, - { - "value": "Budapest" - }, - { - "value": "Budapest" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "41262" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "IE" - }, - { - "value": "County Meath" - }, - { - "value": "Navan" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "IT" - }, - { - "value": "Campania" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "IT" - }, - { - "value": "Piedmont" - }, - { - "value": "Turin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "NO" - }, - { - "value": "Viken" - }, - { - "value": "Ullensaker Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Aleksinac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Arilje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cuprija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kraljevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "SE" - }, - { - "value": "Vasternorrland County" - }, - { - "value": "Sundsvall" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "US" - }, - { - "value": "South Carolina" - }, - { - "value": "Fountain Inn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "76" - }, - { - "value": "51" - }, - { - "value": "54" - }, - { - "value": "19" - }, - { - "value": "3165" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "24" - }, - { - "value": "24" - }, - { - "value": "7" - }, - { - "value": "758" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "440" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "255" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "244" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "197" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "233" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "502" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "418" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "172" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "257" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "398" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Kikinda" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "CO" - }, - { - "value": "Bogota" - }, - { - "value": "Bogota" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "ES" - }, - { - "value": "Andalusia" - }, - { - "value": "Malaga" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "190" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "195" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "152" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "DK" - }, - { - "value": "North Denmark Region" - }, - { - "value": "Aalborg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "EG" - }, - { - "value": "Gharbia Governorate" - }, - { - "value": "Basyoun" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Virovitica-Podravina County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "137" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "ME" - }, - { - "value": "Herceg Novi Municipality" - }, - { - "value": "Herceg Novi" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "MK" - }, - { - "value": "Municipality of Stip" - }, - { - "value": "Shtip" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cuprija" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "SE" - }, - { - "value": "Norrbotten County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "AU" - }, - { - "value": "Western Australia" - }, - { - "value": "Perth" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "BA" - }, - { - "value": "Tuzla Canton" - }, - { - "value": "Lukavac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "CH" - }, - { - "value": "Schaffhausen" - }, - { - "value": "Schaffhausen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "CZ" - }, - { - "value": "South Moravian Region" - }, - { - "value": "Brno" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Ehingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Weilheim in Oberbayern" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Aachen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Dusseldorf" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "FR" - }, - { - "value": "Occitanie" - }, - { - "value": "11210" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "GR" - }, - { - "value": "Decentralized Administration of Macedonia and Thrace" - }, - { - "value": "Thessaloniki" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "255" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "ID" - }, - { - "value": "Banten" - }, - { - "value": "15610" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "41262" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "IT" - }, - { - "value": "Apulia" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Milan" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Cetinje Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9944" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Brestovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Petrovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Voluja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "SE" - }, - { - "value": "Vasterbotten County" - }, - { - "value": "Storuman" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "SI" - }, - { - "value": "Murska Sobota" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "TR" - }, - { - "value": "Izmir" - }, - { - "value": "Izmir" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Chicago" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "US" - }, - { - "value": "Minnesota" - }, - { - "value": "Minneapolis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "US" - }, - { - "value": "Oregon" - }, - { - "value": "Portland" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "US" - }, - { - "value": "Texas" - }, - { - "value": "Houston" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "49" - }, - { - "value": "40" - }, - { - "value": "40" - }, - { - "value": "13" - }, - { - "value": "1318" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "30" - }, - { - "value": "32" - }, - { - "value": "10" - }, - { - "value": "1175" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "0" - }, - { - "value": "637" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "341" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "226" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "163" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "AU" - }, - { - "value": "Western Australia" - }, - { - "value": "Perth" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "673" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "475" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "NO" - }, - { - "value": "Oslo" - }, - { - "value": "Oslo Municipality" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "216" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "262" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "CN" - }, - { - "value": "Shanghai" - }, - { - "value": "Shanghai" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "ME" - }, - { - "value": "Danilovgrad Municipality" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "208" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "122" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "194" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "41262" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "IT" - }, - { - "value": "Friuli-Venezia Giulia" - }, - { - "value": "Trieste" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "CA" - }, - { - "value": "British Columbia" - }, - { - "value": "Vancouver" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "CH" - }, - { - "value": "Aargau" - }, - { - "value": "Oftringen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "CH" - }, - { - "value": "Zug" - }, - { - "value": "Unterageri" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Burladingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Furth" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Euskirchen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "ES" - }, - { - "value": "Andalusia" - }, - { - "value": "Malaga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Paris" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "FR" - }, - { - "value": "Normandy" - }, - { - "value": "27320" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "FR" - }, - { - "value": "Nouvelle-Aquitaine" - }, - { - "value": "Mauleon-Licharre" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Sesvete" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "Karlovac County" - }, - { - "value": "Karlovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "Pozega-Slavonia County" - }, - { - "value": "Pozega" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "ID" - }, - { - "value": "Gorontalo" - }, - { - "value": "Suwawa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "IT" - }, - { - "value": "Emilia-Romagna" - }, - { - "value": "Bologna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "ME" - }, - { - "value": "Herceg Novi Municipality" - }, - { - "value": "Herceg Novi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "NO" - }, - { - "value": "Viken" - }, - { - "value": "Halden Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Brestovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Jagodina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Petrovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Zlatibor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "US" - }, - { - "value": "Nevada" - }, - { - "value": "Las Vegas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "IT" - }, - { - "value": "Sicily" - }, - { - "value": "Palermo" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "52" - }, - { - "value": "43" - }, - { - "value": "44" - }, - { - "value": "9" - }, - { - "value": "1978" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "26" - }, - { - "value": "28" - }, - { - "value": "4" - }, - { - "value": "1244" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "4" - }, - { - "value": "436" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "775" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "320" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "159" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "411" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "486" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "156" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BE" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "269" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Eppingen" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Duisburg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Sibenik-Knin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "136" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "ID" - }, - { - "value": "Riau" - }, - { - "value": "28263" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "153" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kraljevo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "SE" - }, - { - "value": "Jonkoping County" - }, - { - "value": "Tranas" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Kremsmunster" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Linz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "Una-Sana Canton" - }, - { - "value": "Cazin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "CA" - }, - { - "value": "Manitoba" - }, - { - "value": "Winnipeg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "CH" - }, - { - "value": "Ticino" - }, - { - "value": "Locarno" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Karlsruhe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Goslar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Hanover" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Cologne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "DK" - }, - { - "value": "Central Denmark Region" - }, - { - "value": "Aarhus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "FR" - }, - { - "value": "Occitanie" - }, - { - "value": "11210" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Brod-Posavina County" - }, - { - "value": "Slavonski Brod" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Karlovac County" - }, - { - "value": "Karlovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Sibenik-Knin County" - }, - { - "value": "Sibenik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HU" - }, - { - "value": "Budapest" - }, - { - "value": "Budapest" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "ID" - }, - { - "value": "Maluku" - }, - { - "value": "Aru Utara" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "41262" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Milan" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "ME" - }, - { - "value": "Budva Municipality" - }, - { - "value": "Budva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "NL" - }, - { - "value": "North Holland" - }, - { - "value": "Haarlem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Aleksinac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Novi Pazar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Zlatibor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Opovo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Pancevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sremska Mitrovica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "US" - }, - { - "value": "Connecticut" - }, - { - "value": "Bridgeport" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "202" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "XK" - }, - { - "value": "District of Peje" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "48" - }, - { - "value": "38" - }, - { - "value": "40" - }, - { - "value": "16" - }, - { - "value": "1289" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "41" - }, - { - "value": "12" - }, - { - "value": "15" - }, - { - "value": "4" - }, - { - "value": "1396" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "30" - }, - { - "value": "30" - }, - { - "value": "9" - }, - { - "value": "1303" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "2" - }, - { - "value": "1622" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "2" - }, - { - "value": "648" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9944" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "613" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "371" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "258" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "523" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "401" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "211" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "192" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "CH" - }, - { - "value": "Canton of Bern" - }, - { - "value": "Jegenstorf" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Unterschleissheim" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "156" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "DK" - }, - { - "value": "North Denmark Region" - }, - { - "value": "Aalborg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Brod-Posavina County" - }, - { - "value": "Slavonski Brod" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Virovitica-Podravina County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "AT" - }, - { - "value": "Salzburg" - }, - { - "value": "Salzburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "268" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "BR" - }, - { - "value": "State of Para" - }, - { - "value": "68628" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Hamilton" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Roxton Pond" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "CN" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "359" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Augsburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "21447" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "222" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Munster" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "DK" - }, - { - "value": "Central Denmark Region" - }, - { - "value": "Randers" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "HR" - }, - { - "value": "Vukovar-Srijem County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "ID" - }, - { - "value": "Maluku" - }, - { - "value": "Aru Utara" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "IT" - }, - { - "value": "Sicily" - }, - { - "value": "Palermo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "Municipality of Gostivar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kusiljevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Vranje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Lund" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Stockholm" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "Los Angeles" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "US" - }, - { - "value": "Florida" - }, - { - "value": "Jacksonville" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "46" - }, - { - "value": "39" - }, - { - "value": "41" - }, - { - "value": "15" - }, - { - "value": "1197" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "29" - }, - { - "value": "29" - }, - { - "value": "7" - }, - { - "value": "1064" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "5" - }, - { - "value": "669" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "448" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "4" - }, - { - "value": "314" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Pocking" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "155" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "135" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "215" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "CN" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Prokuplje" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "DE" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "21447" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Vukovar-Srijem County" - }, - { - "value": "Vinkovci" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "NL" - }, - { - "value": "Zeeland" - }, - { - "value": "Terneuzen" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "129" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "AL" - }, - { - "value": "Tirana County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "CH" - }, - { - "value": "Canton of Bern" - }, - { - "value": "Bern" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Memmingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Cologne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Hunxe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "DK" - }, - { - "value": "Central Denmark Region" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Brod-Posavina County" - }, - { - "value": "Slavonski Brod" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Sesvete" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "479" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "HU" - }, - { - "value": "Pest County" - }, - { - "value": "Dunaharaszti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "IE" - }, - { - "value": "County Dublin" - }, - { - "value": "Dublin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "IT" - }, - { - "value": "Friuli-Venezia Giulia" - }, - { - "value": "Monfalcone" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "106" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "IT" - }, - { - "value": "Trentino-South Tyrol" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "IT" - }, - { - "value": "Veneto" - }, - { - "value": "Padua" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Zabljak Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "ME" - }, - { - "value": "Bar Municipality" - }, - { - "value": "Bar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "419" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9912" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "SE" - }, - { - "value": "Jonkoping County" - }, - { - "value": "Jonkoping" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Haninge Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "SE" - }, - { - "value": "Vasterbotten County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "SI" - }, - { - "value": "Velenje" - }, - { - "value": "Velenje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "TR" - }, - { - "value": "Istanbul" - }, - { - "value": "Istanbul" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "TR" - }, - { - "value": "Manisa" - }, - { - "value": "Manisa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "Redwood City" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "US" - }, - { - "value": "Kansas" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "39" - }, - { - "value": "31" - }, - { - "value": "33" - }, - { - "value": "14" - }, - { - "value": "1325" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "26" - }, - { - "value": "29" - }, - { - "value": "10" - }, - { - "value": "2826" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "4" - }, - { - "value": "891" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "186" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "277" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "162" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Sachsenheim" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "271" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "US" - }, - { - "value": "Nevada" - }, - { - "value": "Gerlach" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "404" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "BG" - }, - { - "value": "Blagoevgrad Province" - }, - { - "value": "Razlog" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "41262" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Sisak-Moslavina County" - }, - { - "value": "Sisak" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cuprija" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Pancevo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Wels" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "AU" - }, - { - "value": "Queensland" - }, - { - "value": "Brisbane" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "AU" - }, - { - "value": "Western Australia" - }, - { - "value": "Perth" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Opfikon" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Ruti" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Ravensburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Schwabisch Gmund" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Wiesbaden" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Meppen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Cologne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Gelsenkirchen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "EG" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "FR" - }, - { - "value": "Centre-Val de Loire" - }, - { - "value": "37520" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "FR" - }, - { - "value": "Hauts-de-France" - }, - { - "value": "59166" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "GB" - }, - { - "value": "England" - }, - { - "value": "London" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Bjelovar-Bilogora County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "Dubrovnik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "66351" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "Bangkalan Regency" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "Mojokerto Regency" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "418" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "ID" - }, - { - "value": "Papua" - }, - { - "value": "99613" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "IT" - }, - { - "value": "Sicily" - }, - { - "value": "Palermo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "IT" - }, - { - "value": "Veneto" - }, - { - "value": "Thiene" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9944" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "153" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RO" - }, - { - "value": "Botosani County" - }, - { - "value": "Botosani" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Brestovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Sopic" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Vranje" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Molndal" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "SI" - }, - { - "value": "Slovenske Konjice" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "US" - }, - { - "value": "Texas" - }, - { - "value": "Dallas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "XK" - }, - { - "value": "District of Prishtine" - }, - { - "value": "Pristina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "DE" - }, - { - "value": "Mecklenburg-Vorpommern" - }, - { - "value": "Schwerin" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "US" - }, - { - "value": "Washington" - }, - { - "value": "Seattle" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "71" - }, - { - "value": "62" - }, - { - "value": "67" - }, - { - "value": "26" - }, - { - "value": "1635" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "46" - }, - { - "value": "41" - }, - { - "value": "44" - }, - { - "value": "21" - }, - { - "value": "1043" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "22" - }, - { - "value": "29" - }, - { - "value": "17" - }, - { - "value": "420" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "540" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "182" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "5" - }, - { - "value": "178" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "408" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "241" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "164" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Boblingen" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Ehingen" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "257" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Vukovar-Srijem County" - }, - { - "value": "Vinkovci" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "US" - }, - { - "value": "Kentucky" - }, - { - "value": "Lexington" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "324" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "BR" - }, - { - "value": "State of Parana" - }, - { - "value": "Toledo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Toronto" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Erlensee" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Gutersloh" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Zadar County" - }, - { - "value": "Zadar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "IT" - }, - { - "value": "Sicily" - }, - { - "value": "Palermo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Stockholm" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "163" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "AE" - }, - { - "value": "Dubai" - }, - { - "value": "Dubai" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Traun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "CA" - }, - { - "value": "British Columbia" - }, - { - "value": "Osoyoos" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "CA" - }, - { - "value": "British Columbia" - }, - { - "value": "Victoria" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "CH" - }, - { - "value": "Aargau" - }, - { - "value": "Zofingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "CH" - }, - { - "value": "Vaud" - }, - { - "value": "Lausanne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "87668" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "Saxony-Anhalt" - }, - { - "value": "38899" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "EG" - }, - { - "value": "Gharbia Governorate" - }, - { - "value": "Basyoun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Dubrovnik-Neretva County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Sisak-Moslavina County" - }, - { - "value": "Sisak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "Bangkalan Regency" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "ID" - }, - { - "value": "Maluku" - }, - { - "value": "Aru Utara" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "159" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "ID" - }, - { - "value": "North Sulawesi" - }, - { - "value": "Beo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "ID" - }, - { - "value": "Papua" - }, - { - "value": "99613" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "IT" - }, - { - "value": "Campania" - }, - { - "value": "Salerno" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "MK" - }, - { - "value": "Municipality of Bitola" - }, - { - "value": "Bitola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9944" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "NO" - }, - { - "value": "Trondelag" - }, - { - "value": "Trondheim Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Brestovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Jagodina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Petrovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Hassleholm" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "California's 17th Congressional District 2022 redistricting" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "San Diego" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "Santa Barbara" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "US" - }, - { - "value": "New Jersey" - }, - { - "value": "Clifton" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "US" - }, - { - "value": "Virginia" - }, - { - "value": "Ashburn" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "XK" - }, - { - "value": "District of Mitrovice" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "XK" - }, - { - "value": "District of Prishtine" - }, - { - "value": "Pristina" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Soltau" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "US" - }, - { - "value": "California" - }, - { - "value": "Mission Viejo" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "45" - }, - { - "value": "42" - }, - { - "value": "42" - }, - { - "value": "17" - }, - { - "value": "1505" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "39" - }, - { - "value": "32" - }, - { - "value": "34" - }, - { - "value": "12" - }, - { - "value": "1651" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "16" - }, - { - "value": "18" - }, - { - "value": "9" - }, - { - "value": "506" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "2" - }, - { - "value": "642" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "297" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "0" - }, - { - "value": "364" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "368" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "480" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "199" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Malmo" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "293" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Valjevo" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "240" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "XK" - }, - { - "value": "District of Mitrovice" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "GB" - }, - { - "value": "England" - }, - { - "value": "London" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Milan" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "NL" - }, - { - "value": "North Holland" - }, - { - "value": "Amsterdam" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Sopic" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "298" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Stockholm" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Linz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "AU" - }, - { - "value": "New South Wales" - }, - { - "value": "Sydney" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Mississauga" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Roxton Pond" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "268" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Winterthur" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Burgau" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Dachau" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DE" - }, - { - "value": "Hamburg" - }, - { - "value": "Hamburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "239" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Dreieich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Remscheid" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DK" - }, - { - "value": "North Denmark Region" - }, - { - "value": "Aalborg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "DK" - }, - { - "value": "North Denmark Region" - }, - { - "value": "Hirtshals" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "EG" - }, - { - "value": "Gharbia Governorate" - }, - { - "value": "Basyoun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "ES" - }, - { - "value": "Valencian Community" - }, - { - "value": "La Canyada" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "FR" - }, - { - "value": "Grand Est" - }, - { - "value": "Saint-Die-des-Vosges" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "FR" - }, - { - "value": "Hauts-de-France" - }, - { - "value": "Creil" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "FR" - }, - { - "value": "Ile-de-France" - }, - { - "value": "Epinay-sur-Orge" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "HR" - }, - { - "value": "Krapina-Zagorje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "Samobor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "Bangkalan Regency" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "ID" - }, - { - "value": "Papua" - }, - { - "value": "99613" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "IT" - }, - { - "value": "Sicily" - }, - { - "value": "Catania" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "ME" - }, - { - "value": "Budva Municipality" - }, - { - "value": "Budva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "MK" - }, - { - "value": "Municipality of Bitola" - }, - { - "value": "Bitola" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9912" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Arandjelovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Baric" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nepricava" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sombor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "UA" - }, - { - "value": "Cherkasy Oblast" - }, - { - "value": "Smila" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "XK" - }, - { - "value": "District of Gjilan" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "54" - }, - { - "value": "45" - }, - { - "value": "46" - }, - { - "value": "10" - }, - { - "value": "3048" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "22" - }, - { - "value": "23" - }, - { - "value": "13" - }, - { - "value": "798" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "2" - }, - { - "value": "531" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "378" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "427" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "406" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "CN" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Dortmund" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "137" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Montreal" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "473" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "273" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "303" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "337" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "St. Catharines" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "CH" - }, - { - "value": "Fribourg" - }, - { - "value": "Bulle" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Winterthur" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Germering" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "IT" - }, - { - "value": "Sicily" - }, - { - "value": "Palermo" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cuprija" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "545" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "AE" - }, - { - "value": "Abu Dhabi" - }, - { - "value": "Abu Dhabi" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "AT" - }, - { - "value": "Carinthia" - }, - { - "value": "Klagenfurt am Worthersee" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "AT" - }, - { - "value": "Lower Austria" - }, - { - "value": "Bruck an der Leitha" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "AT" - }, - { - "value": "Tyrol" - }, - { - "value": "Jenbach" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Brcko District" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "513" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prnjavor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "BA" - }, - { - "value": "Tuzla Canton" - }, - { - "value": "Zivinice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Toronto" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "CH" - }, - { - "value": "Canton of Bern" - }, - { - "value": "Koniz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "CH" - }, - { - "value": "Grisons" - }, - { - "value": "Chur" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Bietigheim-Bissingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "530" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Crailsheim" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Dachau" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "129" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Kitzingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Munich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Hamburg" - }, - { - "value": "Hamburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "21447" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Cologne" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Gelsenkirchen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Saxony" - }, - { - "value": "Wurzen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Taastrup" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Sesvete" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HU" - }, - { - "value": "Bacs-Kiskun" - }, - { - "value": "6337" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "HU" - }, - { - "value": "Jasz-Nagykun-Szolnok" - }, - { - "value": "5124" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "Mojokerto Regency" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "ID" - }, - { - "value": "Gorontalo" - }, - { - "value": "Suwawa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "ID" - }, - { - "value": "North Sulawesi" - }, - { - "value": "Beo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "ID" - }, - { - "value": "Papua" - }, - { - "value": "99613" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "ID" - }, - { - "value": "South Sumatra" - }, - { - "value": "Tiang Pumpung Kepungut" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "IN" - }, - { - "value": "Rajasthan" - }, - { - "value": "Jodhpur" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "IT" - }, - { - "value": "Lazio" - }, - { - "value": "Rome" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "Municipality of Gostivar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "MK" - }, - { - "value": "Municipality of Resen" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "199" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "NL" - }, - { - "value": "Limburg" - }, - { - "value": "Venlo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "NL" - }, - { - "value": "North Brabant" - }, - { - "value": "Eindhoven" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "NL" - }, - { - "value": "South Holland" - }, - { - "value": "The Hague" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Uzice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Kikinda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sid" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sombor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "SE" - }, - { - "value": "Kalmar County" - }, - { - "value": "Kalmar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Malmo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Stockholm" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "SE" - }, - { - "value": "Varmland County" - }, - { - "value": "Arjang" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "SI" - }, - { - "value": "Administrative unit Maribor" - }, - { - "value": "Maribor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "234" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "DE" - }, - { - "value": "Saxony-Anhalt" - }, - { - "value": "38899" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "59" - }, - { - "value": "50" - }, - { - "value": "52" - }, - { - "value": "17" - }, - { - "value": "2202" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "38" - }, - { - "value": "31" - }, - { - "value": "36" - }, - { - "value": "11" - }, - { - "value": "1508" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "7" - }, - { - "value": "532" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Melbourne" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "713" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "191" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "343" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "214" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "NL" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "341" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "385" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "110" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "122" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Doboj" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prnjavor" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "207" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "CZ" - }, - { - "value": "Hradec Kralove Region" - }, - { - "value": "Tyniste nad Orlici" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "IL" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "137" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Niksic Municipality" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Oak Brook" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Palatine" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "AT" - }, - { - "value": "Tyrol" - }, - { - "value": "Silz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "AU" - }, - { - "value": "New South Wales" - }, - { - "value": "Sydney" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "150" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Edegem" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "BR" - }, - { - "value": "State of Sao Paulo" - }, - { - "value": "06843" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Saint-Hyacinthe" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Saint-Louis-de-Blandford" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Winterthur" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Mannheim" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Neuburg an der Donau" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Nuremberg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "235" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Wiesbaden" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Braunschweig" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "ES" - }, - { - "value": "Galicia" - }, - { - "value": "A Coruna" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "ES" - }, - { - "value": "Valencian Community" - }, - { - "value": "Valencia" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "Karlovac County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "Lika-Senj County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "Cakovec" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "Sisak-Moslavina County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "IT" - }, - { - "value": "Lazio" - }, - { - "value": "Rome" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "IT" - }, - { - "value": "Liguria" - }, - { - "value": "Genoa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "IT" - }, - { - "value": "Lombardy" - }, - { - "value": "Segrate" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Kotor Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "ME" - }, - { - "value": "Budva Municipality" - }, - { - "value": "Budva" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "MK" - }, - { - "value": "Municipality of Stip" - }, - { - "value": "Shtip" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "MX" - }, - { - "value": "State of Mexico" - }, - { - "value": "Toluca" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "86" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "NL" - }, - { - "value": "North Brabant" - }, - { - "value": "Breda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "NO" - }, - { - "value": "Agder" - }, - { - "value": "Kristiansand Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Krusevac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Medvedja" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Zlatibor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Kikinda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Lukino Selo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Sremska Mitrovica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Vrsac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "SE" - }, - { - "value": "Blekinge County" - }, - { - "value": "Ronneby" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Malmo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "SE" - }, - { - "value": "Vasternorrland County" - }, - { - "value": "Sundsvall" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Boras" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Chicago" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "US" - }, - { - "value": "Michigan" - }, - { - "value": "Rochester Hills" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "US" - }, - { - "value": "Nevada" - }, - { - "value": "Las Vegas" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "249" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "VE" - }, - { - "value": "Bolivar" - }, - { - "value": "Guayana City" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "VE" - }, - { - "value": "Monagas" - }, - { - "value": "Maturin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "XK" - }, - { - "value": "District of Gjilan" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "XK" - }, - { - "value": "District of Prizren" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "169" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "55" - }, - { - "value": "33" - }, - { - "value": "33" - }, - { - "value": "8" - }, - { - "value": "2351" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "31" - }, - { - "value": "31" - }, - { - "value": "6" - }, - { - "value": "1366" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "737" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "989" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "3" - }, - { - "value": "353" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "3" - }, - { - "value": "313" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "542" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "429" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "183" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "175" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "261" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "371" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "308" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "150" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Tuzla" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "344" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "AU" - }, - { - "value": "Victoria" - }, - { - "value": "Geelong" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Gradiska" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "CA" - }, - { - "value": "Quebec" - }, - { - "value": "Saint-Louis-de-Blandford" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "125" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "IT" - }, - { - "value": "Lazio" - }, - { - "value": "Rome" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "190" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "SE" - }, - { - "value": "Blekinge County" - }, - { - "value": "Karlshamn" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "AT" - }, - { - "value": "Salzburg" - }, - { - "value": "Kaprun" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Zvornik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "CH" - }, - { - "value": "Aargau" - }, - { - "value": "Rothrist" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "284" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "CN" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Burglengenfeld" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Kitzingen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "Berlin" - }, - { - "value": "Berlin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "35099" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "21447" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "Lower Saxony" - }, - { - "value": "Salzgitter" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "Mecklenburg-Vorpommern" - }, - { - "value": "Wolgast" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Dortmund" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "HR" - }, - { - "value": "Bjelovar-Bilogora County" - }, - { - "value": "Bjelovar" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "Samobor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "HU" - }, - { - "value": "Budapest" - }, - { - "value": "Budapest" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "ID" - }, - { - "value": "East Java" - }, - { - "value": "66351" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "ID" - }, - { - "value": "North Sulawesi" - }, - { - "value": "Likupang Barat" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "ID" - }, - { - "value": "West Java" - }, - { - "value": "Bojongsoang" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "Municipality of Tetovo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9912" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "NL" - }, - { - "value": "Groningen" - }, - { - "value": "9944" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Kikinda" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Zrenjanin" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "SE" - }, - { - "value": "Norrbotten County" - }, - { - "value": "Lulea" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Upplands Vasby" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "SE" - }, - { - "value": "Vastra Gotaland County" - }, - { - "value": "Gothenburg" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "SI" - }, - { - "value": "Domzale" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "SI" - }, - { - "value": "Tolmin" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "US" - }, - { - "value": "Iowa" - }, - { - "value": "Muscatine" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "US" - }, - { - "value": "New York" - }, - { - "value": "Norwich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Sinsheim" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "155" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Westmont" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "City of Zagreb" - }, - { - "value": "Zagreb" - } - ], - "metricValues": [ - { - "value": "39" - }, - { - "value": "34" - }, - { - "value": "34" - }, - { - "value": "16" - }, - { - "value": "1308" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Belgrade" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "30" - }, - { - "value": "32" - }, - { - "value": "9" - }, - { - "value": "1632" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Sarajevo" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "10" - }, - { - "value": "12" - }, - { - "value": "5" - }, - { - "value": "502" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "ME" - }, - { - "value": "Podgorica Municipality" - }, - { - "value": "Podgorica" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kragujevac" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "398" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Banja Luka" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "262" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "Zenica" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "161" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "Split" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "460" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cacak" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "369" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Federation of Bosnia and Herzegovina" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Herzegovina-Neretva Canton" - }, - { - "value": "Mostar" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "267" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Osijek-Baranja County" - }, - { - "value": "Osijek" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "AT" - }, - { - "value": "Vienna" - }, - { - "value": "Vienna" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "West Herzegovina Canton" - }, - { - "value": "Siroki Brijeg" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Primorje-Gorski Kotar County" - }, - { - "value": "Rijeka" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "152" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Split-Dalmatia County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "250" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "Varazdin" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Novi Sad" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Brcko District" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Bijeljina" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "245" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prijedor" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Esslingen" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "Pula" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "IE" - }, - { - "value": "County Monaghan" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "IT" - }, - { - "value": "Lazio" - }, - { - "value": "Rome" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "208" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "MK" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Subotica" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "SI" - }, - { - "value": "Ljubljana" - }, - { - "value": "Ljubljana" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "AT" - }, - { - "value": "Styria" - }, - { - "value": "Graz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "AT" - }, - { - "value": "Upper Austria" - }, - { - "value": "Linz" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Central Bosnia Canton" - }, - { - "value": "Travnik" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Republika Srpska" - }, - { - "value": "Prnjavor" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BA" - }, - { - "value": "Tuzla Canton" - }, - { - "value": "Zivinice" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "BE" - }, - { - "value": "Flanders" - }, - { - "value": "Ghent" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "CA" - }, - { - "value": "Ontario" - }, - { - "value": "Brampton" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "CH" - }, - { - "value": "Basel City" - }, - { - "value": "Basel" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "CH" - }, - { - "value": "Geneva" - }, - { - "value": "Lancy" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "CH" - }, - { - "value": "Schaffhausen" - }, - { - "value": "Schaffhausen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "CH" - }, - { - "value": "Zurich" - }, - { - "value": "Zurich" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "CN" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "DE" - }, - { - "value": "Baden-Wurttemberg" - }, - { - "value": "Stuttgart" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "DE" - }, - { - "value": "Bavaria" - }, - { - "value": "Traunstein" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "DE" - }, - { - "value": "Hessen" - }, - { - "value": "Frankfurt" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "DE" - }, - { - "value": "North Rhine-Westphalia" - }, - { - "value": "Langenfeld" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "DK" - }, - { - "value": "Capital Region of Denmark" - }, - { - "value": "Copenhagen" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "DK" - }, - { - "value": "Central Denmark Region" - }, - { - "value": "Aarhus" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Istria County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Medjimurje County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Varazdin County" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HR" - }, - { - "value": "Zagreb County" - }, - { - "value": "Velika Gorica" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "HU" - }, - { - "value": "Jasz-Nagykun-Szolnok" - }, - { - "value": "5124" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "ID" - }, - { - "value": "Gorontalo" - }, - { - "value": "Suwawa" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "ID" - }, - { - "value": "Maluku" - }, - { - "value": "Aru Utara" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "IE" - }, - { - "value": "County Kildare" - }, - { - "value": "Maynooth" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "IT" - }, - { - "value": "Veneto" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "ME" - }, - { - "value": "(not set)" - }, - { - "value": "Budva Municipality" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "NL" - }, - { - "value": "Gelderland" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Arandjelovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Cuprija" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Kusiljevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Leskovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Nis" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Petrovac" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Sopic" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Strmosten" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "(not set)" - }, - { - "value": "Umka" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "RS" - }, - { - "value": "Vojvodina" - }, - { - "value": "Pancevo" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "SE" - }, - { - "value": "Skane County" - }, - { - "value": "Landskrona" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "SE" - }, - { - "value": "Stockholm County" - }, - { - "value": "Stockholm" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "US" - }, - { - "value": "Illinois" - }, - { - "value": "Westmont" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "US" - }, - { - "value": "North Dakota" - }, - { - "value": "Ray" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "65" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_report_imported_operating_systems.json b/fixture/ga4_report_imported_operating_systems.json deleted file mode 100644 index 92995b3bcbab987bf0347471aca7973d3373f70e..0000000000000000000000000000000000000000 --- a/fixture/ga4_report_imported_operating_systems.json +++ /dev/null @@ -1,32088 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - }, - { - "name": "operatingSystem" - }, - { - "name": "operatingSystemVersion" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Amsterdam" - }, - "metricHeaders": [ - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - }, - { - "name": "totalUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "sessions", - "type": "TYPE_INTEGER" - }, - { - "name": "bounces", - "type": "TYPE_INTEGER" - }, - { - "name": "userEngagementDuration", - "type": "TYPE_SECONDS" - } - ], - "rowCount": 1068, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "42" - }, - { - "value": "26" - }, - { - "value": "27" - }, - { - "value": "6" - }, - { - "value": "1250" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "5" - }, - { - "value": "379" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "14" - }, - { - "value": "17" - }, - { - "value": "13" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "309" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "1" - }, - { - "value": "644" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "1" - }, - { - "value": "385" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "5" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "311" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "397" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "4.2.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "17.3" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "4.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "132" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.13" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "15.4.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "15.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "16.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "16.5.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "iOS" - }, - { - "value": "16.7.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "62" - }, - { - "value": "36" - }, - { - "value": "36" - }, - { - "value": "13" - }, - { - "value": "1267" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "3" - }, - { - "value": "418" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "299" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "136" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "251" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "3" - }, - { - "value": "343" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "136" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Chrome OS" - }, - { - "value": "x86_64 15662.76.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "iOS" - }, - { - "value": "12.5.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "iOS" - }, - { - "value": "15.4.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "15" - }, - { - "value": "18" - }, - { - "value": "9" - }, - { - "value": "588" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "7" - }, - { - "value": "344" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "5" - }, - { - "value": "298" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "3" - }, - { - "value": "237" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "424" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "260" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "196" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "43" - }, - { - "value": "38" - }, - { - "value": "39" - }, - { - "value": "11" - }, - { - "value": "1762" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "6" - }, - { - "value": "440" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "18" - }, - { - "value": "19" - }, - { - "value": "6" - }, - { - "value": "682" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "677" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "5" - }, - { - "value": "664" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "9" - }, - { - "value": "151" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "4" - }, - { - "value": "561" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "237" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "217" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "15.6" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "304" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "250" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "162" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "12.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "13.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "15.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "16.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "iOS" - }, - { - "value": "16.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "51" - }, - { - "value": "38" - }, - { - "value": "38" - }, - { - "value": "11" - }, - { - "value": "1512" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "7" - }, - { - "value": "565" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "15" - }, - { - "value": "16" - }, - { - "value": "8" - }, - { - "value": "319" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "5" - }, - { - "value": "162" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "4" - }, - { - "value": "558" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "6" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "344" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "16.0.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 13.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1086" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "iOS" - }, - { - "value": "17.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "26" - }, - { - "value": "31" - }, - { - "value": "13" - }, - { - "value": "915" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "10" - }, - { - "value": "12" - }, - { - "value": "1" - }, - { - "value": "668" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "6" - }, - { - "value": "688" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "269" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "5" - }, - { - "value": "408" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "4" - }, - { - "value": "730" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "15.4.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "467" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "5.0.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.13" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "413" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "12.5.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "15.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "16.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "42" - }, - { - "value": "31" - }, - { - "value": "31" - }, - { - "value": "14" - }, - { - "value": "1174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "16" - }, - { - "value": "17" - }, - { - "value": "7" - }, - { - "value": "436" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "3" - }, - { - "value": "448" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "3" - }, - { - "value": "898" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "15" - }, - { - "value": "17" - }, - { - "value": "12" - }, - { - "value": "208" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "7" - }, - { - "value": "259" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "iOS" - }, - { - "value": "12.5.7" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "213" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "170" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "525" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "iOS" - }, - { - "value": "16.0.3" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "4.4.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "388" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "iOS" - }, - { - "value": "15.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "24" - }, - { - "value": "26" - }, - { - "value": "8" - }, - { - "value": "1022" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "13" - }, - { - "value": "17" - }, - { - "value": "9" - }, - { - "value": "268" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "4" - }, - { - "value": "355" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "450" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "3" - }, - { - "value": "590" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "347" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "178" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "244" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "212" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "15.6.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "228" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "16.7.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "45" - }, - { - "value": "30" - }, - { - "value": "30" - }, - { - "value": "7" - }, - { - "value": "978" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "4" - }, - { - "value": "852" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "3" - }, - { - "value": "344" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "3" - }, - { - "value": "294" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "15" - }, - { - "value": "16" - }, - { - "value": "6" - }, - { - "value": "860" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "6" - }, - { - "value": "395" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "202" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Linux" - }, - { - "value": "6.1.71" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "12.5.7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "7.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.13" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "16.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "16.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "16.7.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "iOS" - }, - { - "value": "17.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "50" - }, - { - "value": "32" - }, - { - "value": "32" - }, - { - "value": "12" - }, - { - "value": "853" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "7" - }, - { - "value": "452" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "8" - }, - { - "value": "234" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "8" - }, - { - "value": "175" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "3" - }, - { - "value": "477" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "5" - }, - { - "value": "434" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "663" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "6.0.0" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "431" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "288" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "5.0.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "14.8.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "12.5.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "14.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "16.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "99" - }, - { - "value": "64" - }, - { - "value": "65" - }, - { - "value": "20" - }, - { - "value": "2503" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "42" - }, - { - "value": "26" - }, - { - "value": "27" - }, - { - "value": "11" - }, - { - "value": "1703" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "35" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "6" - }, - { - "value": "530" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "3" - }, - { - "value": "940" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "22" - }, - { - "value": "23" - }, - { - "value": "9" - }, - { - "value": "551" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "24" - }, - { - "value": "25" - }, - { - "value": "14" - }, - { - "value": "162" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "472" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "579" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "239" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "121" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "5.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "274" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "15.4.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "16.7.4" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "5.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Android" - }, - { - "value": "6.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "14.7.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "15.7.9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "67" - }, - { - "value": "44" - }, - { - "value": "45" - }, - { - "value": "19" - }, - { - "value": "1664" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "48" - }, - { - "value": "18" - }, - { - "value": "19" - }, - { - "value": "8" - }, - { - "value": "750" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "46" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "585" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "23" - }, - { - "value": "23" - }, - { - "value": "9" - }, - { - "value": "669" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "19" - }, - { - "value": "20" - }, - { - "value": "7" - }, - { - "value": "404" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "7" - }, - { - "value": "567" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "1" - }, - { - "value": "537" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "176" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "6" - }, - { - "value": "303" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "314" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "385" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "122" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "15.3" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "15.6" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "16.3" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "16.4.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "7.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "16.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "16.7.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "iOS" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "1103" - }, - { - "value": "170" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "19584" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.11" - } - ], - "metricValues": [ - { - "value": "1067" - }, - { - "value": "165" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "18901" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "1050" - }, - { - "value": "188" - }, - { - "value": "25" - }, - { - "value": "9" - }, - { - "value": "18614" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Chrome OS" - }, - { - "value": "x86_64 8172.45.0" - } - ], - "metricValues": [ - { - "value": "1042" - }, - { - "value": "165" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "18006" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1011" - }, - { - "value": "164" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "18010" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "66" - }, - { - "value": "42" - }, - { - "value": "43" - }, - { - "value": "18" - }, - { - "value": "1171" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "4" - }, - { - "value": "578" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "11" - }, - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "691" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "7" - }, - { - "value": "271" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "192" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "194" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "7" - }, - { - "value": "728" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "8" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "6" - }, - { - "value": "298" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "17.3" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "15.7.9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "17.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Android" - }, - { - "value": "5.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 14.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "16.7.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "65" - }, - { - "value": "39" - }, - { - "value": "41" - }, - { - "value": "15" - }, - { - "value": "1180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "17" - }, - { - "value": "18" - }, - { - "value": "8" - }, - { - "value": "962" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "4" - }, - { - "value": "673" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "5" - }, - { - "value": "514" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "14" - }, - { - "value": "16" - }, - { - "value": "9" - }, - { - "value": "259" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "5" - }, - { - "value": "250" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "4" - }, - { - "value": "373" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "158" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - }, - { - "value": "585" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "17.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "15.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "48" - }, - { - "value": "36" - }, - { - "value": "37" - }, - { - "value": "10" - }, - { - "value": "1481" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "12" - }, - { - "value": "14" - }, - { - "value": "9" - }, - { - "value": "246" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "23" - }, - { - "value": "23" - }, - { - "value": "7" - }, - { - "value": "620" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "4" - }, - { - "value": "591" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "4" - }, - { - "value": "863" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "10" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "282" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "6" - }, - { - "value": "368" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "3" - }, - { - "value": "503" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "230" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "140" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "15.6" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "226" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "15.5" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "214" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "13.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "14.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "15.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "15.7.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "164" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "71" - }, - { - "value": "49" - }, - { - "value": "49" - }, - { - "value": "13" - }, - { - "value": "3804" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "24" - }, - { - "value": "25" - }, - { - "value": "8" - }, - { - "value": "952" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "5" - }, - { - "value": "580" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "4" - }, - { - "value": "519" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "3" - }, - { - "value": "412" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "6" - }, - { - "value": "212" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "3" - }, - { - "value": "218" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "295" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "324" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "370" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "296" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "220" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "10.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "289" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 14.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "12.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "15.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "15.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "16.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "16.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "91" - }, - { - "value": "64" - }, - { - "value": "68" - }, - { - "value": "20" - }, - { - "value": "2954" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "25" - }, - { - "value": "26" - }, - { - "value": "7" - }, - { - "value": "1018" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "20" - }, - { - "value": "22" - }, - { - "value": "10" - }, - { - "value": "919" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "21" - }, - { - "value": "22" - }, - { - "value": "2" - }, - { - "value": "979" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "5" - }, - { - "value": "786" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "4" - }, - { - "value": "929" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "4" - }, - { - "value": "219" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "545" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "233" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "406" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "169" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "218" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "134" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "304" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "188" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "436" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "12.4.9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "810" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "16.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "17.3" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "Android" - }, - { - "value": "4.4.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "14.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "14.5.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "15.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "284" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "16.0.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "iOS" - }, - { - "value": "16.5.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "59" - }, - { - "value": "47" - }, - { - "value": "47" - }, - { - "value": "12" - }, - { - "value": "2155" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "24" - }, - { - "value": "26" - }, - { - "value": "7" - }, - { - "value": "880" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "21" - }, - { - "value": "22" - }, - { - "value": "3" - }, - { - "value": "1297" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "20" - }, - { - "value": "20" - }, - { - "value": "5" - }, - { - "value": "729" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "16" - }, - { - "value": "17" - }, - { - "value": "1" - }, - { - "value": "1171" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "14" - }, - { - "value": "16" - }, - { - "value": "10" - }, - { - "value": "237" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "661" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "277" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "5" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "368" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "8" - }, - { - "value": "219" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "861" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "14.5.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "15.6.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "Android" - }, - { - "value": "8.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "14.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "14.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "15.4.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "15.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "15.7.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "16.0.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "65" - }, - { - "value": "56" - }, - { - "value": "58" - }, - { - "value": "14" - }, - { - "value": "2827" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "38" - }, - { - "value": "26" - }, - { - "value": "26" - }, - { - "value": "5" - }, - { - "value": "1435" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "27" - }, - { - "value": "28" - }, - { - "value": "8" - }, - { - "value": "1291" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "19" - }, - { - "value": "21" - }, - { - "value": "11" - }, - { - "value": "990" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "7" - }, - { - "value": "963" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "321" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "6" - }, - { - "value": "363" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "8" - }, - { - "value": "5" - }, - { - "value": "582" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "249" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "135" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "8.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "14.4.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "16.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "7.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 14.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "14.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "16.5.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "53" - }, - { - "value": "45" - }, - { - "value": "47" - }, - { - "value": "15" - }, - { - "value": "1954" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "18" - }, - { - "value": "19" - }, - { - "value": "5" - }, - { - "value": "1340" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "20" - }, - { - "value": "22" - }, - { - "value": "7" - }, - { - "value": "909" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "22" - }, - { - "value": "22" - }, - { - "value": "5" - }, - { - "value": "1085" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "15" - }, - { - "value": "16" - }, - { - "value": "4" - }, - { - "value": "946" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "0" - }, - { - "value": "833" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "12" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "1" - }, - { - "value": "488" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "276" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "714" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "199" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "209" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "235" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "203" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "16.1.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "16.3" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "168" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "48" - }, - { - "value": "39" - }, - { - "value": "39" - }, - { - "value": "11" - }, - { - "value": "1650" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "20" - }, - { - "value": "22" - }, - { - "value": "5" - }, - { - "value": "964" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "2" - }, - { - "value": "699" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "3" - }, - { - "value": "864" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "12" - }, - { - "value": "14" - }, - { - "value": "7" - }, - { - "value": "721" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "3" - }, - { - "value": "434" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "774" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "194" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "256" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "168" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "231" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "8.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "182" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "186" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "14.4.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "16.5" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "125" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.13" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "15.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "15.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "44" - }, - { - "value": "36" - }, - { - "value": "38" - }, - { - "value": "9" - }, - { - "value": "1405" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "29" - }, - { - "value": "30" - }, - { - "value": "7" - }, - { - "value": "1301" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "6" - }, - { - "value": "791" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "15" - }, - { - "value": "16" - }, - { - "value": "2" - }, - { - "value": "1516" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "2" - }, - { - "value": "431" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "10" - }, - { - "value": "12" - }, - { - "value": "4" - }, - { - "value": "792" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "791" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "181" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "15.4.1" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "405" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "12.5.7" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "186" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "16.5.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "152" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "167" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "6.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "16.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "16.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "16.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "iOS" - }, - { - "value": "15.6.1" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "64" - }, - { - "value": "21" - }, - { - "value": "24" - }, - { - "value": "3" - }, - { - "value": "2213" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "55" - }, - { - "value": "48" - }, - { - "value": "49" - }, - { - "value": "12" - }, - { - "value": "2433" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "21" - }, - { - "value": "22" - }, - { - "value": "8" - }, - { - "value": "1811" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "22" - }, - { - "value": "22" - }, - { - "value": "1" - }, - { - "value": "1097" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "18" - }, - { - "value": "20" - }, - { - "value": "8" - }, - { - "value": "887" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - }, - { - "value": "451" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "200" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "443" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "5" - }, - { - "value": "175" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "502" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "297" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "336" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "8.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "15.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "44" - }, - { - "value": "36" - }, - { - "value": "40" - }, - { - "value": "16" - }, - { - "value": "1180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "22" - }, - { - "value": "22" - }, - { - "value": "3" - }, - { - "value": "1307" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "3" - }, - { - "value": "698" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "12" - }, - { - "value": "14" - }, - { - "value": "5" - }, - { - "value": "483" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "14" - }, - { - "value": "16" - }, - { - "value": "4" - }, - { - "value": "461" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "2" - }, - { - "value": "546" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "380" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "817" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "225" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "86" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "470" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "8.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "12.5.7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "15.5" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "15.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "14.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "16.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "16.4.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "242" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "iOS" - }, - { - "value": "17.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "45" - }, - { - "value": "43" - }, - { - "value": "43" - }, - { - "value": "12" - }, - { - "value": "3211" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "22" - }, - { - "value": "24" - }, - { - "value": "9" - }, - { - "value": "769" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "5" - }, - { - "value": "632" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "17" - }, - { - "value": "18" - }, - { - "value": "8" - }, - { - "value": "515" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "653" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "2" - }, - { - "value": "1004" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "7" - }, - { - "value": "260" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "11" - }, - { - "value": "13" - }, - { - "value": "7" - }, - { - "value": "422" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "853" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "209" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "0" - }, - { - "value": "416" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "293" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "198" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "16.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "78" - }, - { - "value": "64" - }, - { - "value": "73" - }, - { - "value": "32" - }, - { - "value": "1923" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "23" - }, - { - "value": "25" - }, - { - "value": "14" - }, - { - "value": "528" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "19" - }, - { - "value": "21" - }, - { - "value": "6" - }, - { - "value": "824" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "20" - }, - { - "value": "21" - }, - { - "value": "7" - }, - { - "value": "663" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "19" - }, - { - "value": "20" - }, - { - "value": "6" - }, - { - "value": "807" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "14" - }, - { - "value": "16" - }, - { - "value": "11" - }, - { - "value": "246" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "312" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "228" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "11" - }, - { - "value": "6" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "216" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "194" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "192" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "195" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "343" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "16.3" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "283" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "135" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 11.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "12.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "14.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "14.8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "15.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "15.7.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "17.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "54" - }, - { - "value": "42" - }, - { - "value": "45" - }, - { - "value": "17" - }, - { - "value": "1631" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "26" - }, - { - "value": "26" - }, - { - "value": "3" - }, - { - "value": "1299" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "18" - }, - { - "value": "20" - }, - { - "value": "6" - }, - { - "value": "1063" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "4" - }, - { - "value": "1381" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "20" - }, - { - "value": "20" - }, - { - "value": "5" - }, - { - "value": "669" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "1" - }, - { - "value": "403" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "215" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "7" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "382" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "246" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "236" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "151" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "296" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "5.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "15.4.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "16.5" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "6.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 13.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "277" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "12.5.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "14.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "15.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "106" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "iOS" - }, - { - "value": "15.6.1" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "58" - }, - { - "value": "41" - }, - { - "value": "42" - }, - { - "value": "10" - }, - { - "value": "2957" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "22" - }, - { - "value": "23" - }, - { - "value": "9" - }, - { - "value": "1698" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "22" - }, - { - "value": "23" - }, - { - "value": "6" - }, - { - "value": "1030" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "3" - }, - { - "value": "1540" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "14" - }, - { - "value": "16" - }, - { - "value": "11" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "3" - }, - { - "value": "696" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "1" - }, - { - "value": "661" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "2" - }, - { - "value": "313" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "584" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "190" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "392" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "8.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "220" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "5.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "110" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "545" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 11.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "15.6.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "15.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "15.7.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "16.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "16.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "39" - }, - { - "value": "35" - }, - { - "value": "39" - }, - { - "value": "13" - }, - { - "value": "1258" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "24" - }, - { - "value": "24" - }, - { - "value": "4" - }, - { - "value": "1589" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "25" - }, - { - "value": "25" - }, - { - "value": "7" - }, - { - "value": "958" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "20" - }, - { - "value": "20" - }, - { - "value": "1" - }, - { - "value": "1351" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "15" - }, - { - "value": "16" - }, - { - "value": "4" - }, - { - "value": "883" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "772" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "13" - }, - { - "value": "15" - }, - { - "value": "11" - }, - { - "value": "255" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "2" - }, - { - "value": "343" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "13" - }, - { - "value": "5" - }, - { - "value": "539" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "1" - }, - { - "value": "736" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "400" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "199" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "292" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "16.6.1" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "16.7" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "16.5.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "17.0.3" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.13" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "12.4.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "12.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "12.5.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "13.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "15.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "16.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "iOS" - }, - { - "value": "17.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "47" - }, - { - "value": "41" - }, - { - "value": "41" - }, - { - "value": "9" - }, - { - "value": "2227" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "6" - }, - { - "value": "747" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "23" - }, - { - "value": "23" - }, - { - "value": "3" - }, - { - "value": "1248" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "18" - }, - { - "value": "19" - }, - { - "value": "4" - }, - { - "value": "1189" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "4" - }, - { - "value": "968" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "727" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "2" - }, - { - "value": "988" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "13" - }, - { - "value": "15" - }, - { - "value": "6" - }, - { - "value": "186" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "5" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "159" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "618" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "413" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "261" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "214" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "190" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Windows" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "14.8" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "181" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "213" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "6.0.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "7.1.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "15.4.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "15.5" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "15.6" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "16.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "16.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "iOS" - }, - { - "value": "17.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "13.0.0" - } - ], - "metricValues": [ - { - "value": "56" - }, - { - "value": "44" - }, - { - "value": "45" - }, - { - "value": "17" - }, - { - "value": "2326" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "11.0.0" - } - ], - "metricValues": [ - { - "value": "20" - }, - { - "value": "18" - }, - { - "value": "20" - }, - { - "value": "5" - }, - { - "value": "1333" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "10.0.0" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "0" - }, - { - "value": "732" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "12.0.0" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "3" - }, - { - "value": "514" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "14.0.0" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "5" - }, - { - "value": "307" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "17.1.2" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "8" - }, - { - "value": "226" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "9.0.0" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "0" - }, - { - "value": "226" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "13" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "11" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "7.0.0" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "545" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Windows" - }, - { - "value": "10" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "554" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "14" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "135" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "15.8" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "12" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "8.0.0" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Linux" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "17.2" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "17.2.1" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "7.1.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "8.1.0" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "9" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Windows" - }, - { - "value": "7" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "15.7.8" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "208" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "16.6" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "17.1" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "6.0.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Android" - }, - { - "value": "8.0" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Macintosh" - }, - { - "value": "Intel 10.15" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "Windows" - }, - { - "value": "8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "12.4" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "14.8.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "15.7" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "16.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "16.1.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "16.3.1" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "16.7.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "iOS" - }, - { - "value": "17.0.2" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_report_imported_pages.json b/fixture/ga4_report_imported_pages.json deleted file mode 100644 index ee2fb0d63a7f30f97766123cc777fa704c89b4f1..0000000000000000000000000000000000000000 --- a/fixture/ga4_report_imported_pages.json +++ /dev/null @@ -1,100248 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - }, - { - "name": "hostName" - }, - { - "name": "pagePath" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Amsterdam" - }, - "metricHeaders": [ - { - "name": "totalUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "activeUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - }, - { - "name": "sessions", - "type": "TYPE_INTEGER" - }, - { - "name": "userEngagementDuration", - "type": "TYPE_SECONDS" - } - ], - "rowCount": 3340, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "839" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "26" - }, - { - "value": "11" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "12" - }, - { - "value": "10" - }, - { - "value": "550" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "237" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "516" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "121" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "192" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djumbir-limun-shot/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fini-detalji-za-cajanku/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-sir/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-zanimljivosti-o-caju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aktivni-ugalj-prociscavac-vode/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-od-slatkog-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-bez-ili-sa-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-las-vegas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-razeni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/domaci-ravioli-sa-spinatom-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dvadeset-godina-zivljenja-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/engleski-christmas-pudding/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/filadendron-monstera-trend-sobna-biljka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-dan-u-zooloskom-vrtu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-iz-korpice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-kamenog-doba/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/limunova-trava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/makaroni-sa-sirom-i-senfom-u-prahu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mirisni-curry-sa-krompirom-i-karfiolom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mirisni-indijski-curry-sa-krompirom-i-graskom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mirisno-drvo-protiv-insekata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nova-korpa-za-biciklo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/omlet-sa-spinatom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecivo-koje-vraca-nadu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-zacina-iz-moje-kuhinje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pinjoli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/risotto-sa-safranom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-sa-heljdom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sataras/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/serviraj-za-pobjedu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sezam-kolacici-bez-brasna-mlijeka-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spanska-kuhinja-tapas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-je-hygge/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "264" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tehnika-savijanja-vekne-kruha/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/torta-sa-vrucom-vodom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vrijeme-je-za-caj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/wakame-alge/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "13" - }, - { - "value": "12" - }, - { - "value": "707" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "16" - }, - { - "value": "10" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "12" - }, - { - "value": "3" - }, - { - "value": "162" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ah-ta-carobna-venecija/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "182" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caorle-biser-sjevera-italije-1-dio/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cevapi-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/indijski-curry-sa-slanutkom-patlidzanom-paprikama-i-sirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - }, - { - "value": "2" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-vecera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-kolac-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djevojcica-sa-sibicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/domaci-sladoled-na-stapicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/egzoticna-vecera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-supa-od-korjenastog-povrca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grace-and-frankie/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grcke-mesne-okruglice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-dan-u-zooloskom-vrtu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kad-nista-ne-ide-od-ruke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "183" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kiflice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-peceni-u-tavi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korijen-kurkume-i-kako-da-obojis-kuhinju-u-zuto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/limunova-trava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-medni-poklopci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mini-palacinke-od-zobenih-mekinja-sa-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najmanji-paradajz-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/okrugla-peciva-sa-mrkvom-gulerodsboller/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/64/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-detalja-sape-ruzina-voda/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-obrok-salata-sa-tjesteninom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/przeni-bademi-sa-cilijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-mrkve-marinirane-sokom-od-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "204" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sendvic-na-grilu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slane-kiflice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/snicle-od-karfiola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-servirati-uz-solju-kave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/strikanjem-protiv-stresa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/uzrok-djecije-probirljivosti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/velika-kina-i-mala-italija/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-je-eu-protiv-puzica-sa-cimetom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-se-prodaje-ananas-bez-vrha/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-kuglice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "419" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "416" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "17" - }, - { - "value": "9" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "86" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "162" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-jogurt/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mini-baby-povrce/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-sa-heljdom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skriveni-secer/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-zanimljivosti-o-zivotu-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-brza-obroka-od-jaja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-crne-soje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cejlonski-caj-fortnum-mason/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cijeli-dorucak-u-jednoj-casi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danske-kuce-sa-slamnatim-krovom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djumbir-limun-shot/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/egzoticna-vecera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grace-and-frankie/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/hoptimist/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jesen-u-dnevnoj-sobi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kefir-smoothie-sa-borovnicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kozmetika-iz-kuhinje-maska-za-lice-od-sjemenki-lana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljubicasti-krompir-crown-prince-bundeva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ne-vjeruj-ni-kad-darove-nose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-krompir-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "212" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-jela-od-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/piroske-sa-mljevenim-mesom-i-spinatom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarena-pizza-od-polente/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sedam-jela-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/snicle-od-karfiola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-crvene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-modi-su-balkoni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-japanske-metvice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "27" - }, - { - "value": "33" - }, - { - "value": "28" - }, - { - "value": "1355" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "973" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "22" - }, - { - "value": "12" - }, - { - "value": "624" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "238" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "338" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "373" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "329" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-kupus/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/royal-copenhagen/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-brza-obroka-od-jaja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/6-simpaticnih-stvari-za-balkon/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/6-ukusnih-poslastica-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/9-stvari-iz-mog-nesesera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/amchoor-mango-u-prahu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-djumbir-pivo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-crne-soje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chapati-tanki-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chia-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cokoladni-dizajn/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danci-i-godisnji-odmor/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-kolac-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/domaci-sladoled-na-stapicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ethos-kako-da-ne-sprzis-kafu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-vrecica-za-pravljenje-leda/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grace-and-frankie/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/heljdina-kasa-za-zdrav-pocetak-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-pink-limunadu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kassava-yuca-povrce-buducnosti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kefir-smoothie-sa-borovnicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-sa-jabukama-i-kupinama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-sa-sirom-i-jagodama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kozmetika-iz-kuhinje-maska-za-lice-od-sjemenki-lana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-kamenog-doba/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/latte-sa-karamel-sosom-i-morskom-soli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marinirane-haringe/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nase-duse-u-noci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicni-stativi-za-susenje-posudja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nova-netflix-serija-the-crown/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutella-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-od-razenog-brasna-sa-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-jela-od-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponovo-u-modi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/praznicni-kolac-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prodavacica-sayaka-murata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/przeni-bademi-sa-cilijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-crvenog-spicastog-kupusa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sendvic-sa-djumbirom-avokadom-kurkumom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sezam-kolacici-bez-brasna-mlijeka-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skriveni-secer/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slani-muffins-na-nordijski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-danci-jedu-za-uskrs/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/torta-sa-vrucom-vodom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trokutovi-sa-ruzmarinom-i-origanom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-jabukama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vegeterijanski-burrito/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdraviji-nacin-bojenja-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "16" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "393" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "18" - }, - { - "value": "14" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "465" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "190" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "410" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-jogurt/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "273" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-slanutka-i-brokula/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-japanske-metvice/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-se-plasticne-slamcice-izbacuju-iz-upotrebe/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-sestre-i-40-godina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aktivni-ugalj-prociscavac-vode/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arancini-narandzice-od-rize/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arapski-dorucak-manakish/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijeli-luk-susen-na-dimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozic-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-djumbir-pivo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cejlonski-caj-fortnum-mason/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cevapi-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chia-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danci-i-godisnji-odmor/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djevojcica-sa-sibicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ikigai-japanska-tajna-dugog-sretnog-zivota/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-tulipani-ostaju-duze-svjezi-u-vazni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-sa-jabukama-i-kupinama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kucica-u-cvijecu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mjesto-gdje-se-spajaju-dva-mora/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/moja-genijalna-prijateljica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/napulj-knjiga-broj-4-prica-o-izgubljenom-djetetu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicni-stativi-za-susenje-posudja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nicoise-salata-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-trend-bambus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutella-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pablo-pikaso-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-krompir-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rucak-sa-pogledom-u-restoranu-kazamat-u-banja-luci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sataras/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slatki-krompir-na-vise-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sto-za-sadjenje-cvijeca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tajlandska-supa-tom-yum-na-vegeterijanski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trokutovi-sa-ruzmarinom-i-origanom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "16" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "528" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "27" - }, - { - "value": "12" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "704" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "236" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/setnja-kroz-tivoli/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "181" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "521" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-zanimljivosti-o-zivotu-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-stvari-koje-cine-moj-vikend/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/6-nacina-kako-iskoristiti-toz-od-kave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arapski-dorucak-manakish/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvene-torte/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djelic-danske-kulture-ulicni-prodavci-voca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dvadeset-godina-zivljenja-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/focaccia-sa-ljubicastim-lukom-i-pecenim-paradajzom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/integralna-tjestenina-sa-salsom-od-paradajza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "196" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-musli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-sir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "207" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "260" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korpice-od-parmezana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-sa-krompirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-table-za-pisanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lasagne-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/melanzane-alla-parmigiana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mirisni-curry-sa-krompirom-i-karfiolom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mjesto-gdje-se-spajaju-dva-mora/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/muskatni-orascic/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/palenta-na-4-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/patatas-bravas-hrskavi-krompir-u-aromaticnom-sosu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pekara-kuhinjske-price/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/piroske-sa-mljevenim-mesom-i-spinatom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/riblja-kost-biljka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-slanutka-i-brokula/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-sa-heljdom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-aglio-e-olio/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-je-novosadski/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "413" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-potrazi-za-perfektnim-curry-receptom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-japanske-metvice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "13" - }, - { - "value": "18" - }, - { - "value": "17" - }, - { - "value": "538" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "26" - }, - { - "value": "14" - }, - { - "value": "112" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "15" - }, - { - "value": "11" - }, - { - "value": "273" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "897" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "491" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "225" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-jogurt/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-sir/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "639" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mracne-tajne-prehrambene-industrije-ljepilo-za-meso/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/2012-godina-dan-prvi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-nezdrave-navike-koje-je-lako-pretvoriti-u-zdrave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-malih-savjeta-za-njegu-kaktusa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "242" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-kristalni-kamen/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arancini-narandzice-od-rize/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arapski-dorucak-manakish/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bakar-ponovo-u-modi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozic-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-djumbir-pivo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cepelinai-prica-o-neuspjelom-postu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danske-malina-snite/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dobrodosli-u-moju-kuhinju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/domaci-ravioli-sa-spinatom-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-supa-od-korjenastog-povrca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glavni-junaci-moje-kuhinje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/granita-od-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/indijski-curry-sa-slanutkom-patlidzanom-paprikama-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-od-slatkog-korjena-liquorice-cookies/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-sa-medom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-danci-spavaju-napolju-i-zimi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mjesto-gdje-se-spajaju-dva-mora/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nomadic-community-gardens/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutella-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/162/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/3/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/4/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/5/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pire-od-krompira-na-5-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "86" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-dragane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sedam-stvarcica-iz-moje-kuhinje-koje-zivot-znace/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slag-na-tortu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-crvene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-graska-sa-sampanjcem-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-modi-je-kelj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-jabukama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "713" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "16" - }, - { - "value": "13" - }, - { - "value": "441" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "424" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "218" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "358" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pita-sa-prokeljom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-poriluk-prasa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tehnika-savijanja-vekne-kruha/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-od-slatkog-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cemu-sluze-kuhinjski-aparati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kajgana-na-indijski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-crveni-pesto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-sir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-guava-i-pokloni-sa-kube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/liker-od-tresanja-2-dio/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/liker-od-tresanja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutella-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pasta-fresca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-medjoul-datule/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-slanutka-i-brokula/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/serviraj-za-pobjedu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "206" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slane-kiflice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-nas-moze-nauciti-hobotnica-i-zasto-bi-svi-trebali-pogledati-dokumentarni-film-my-octopus-teacher/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-servirati-uz-solju-kave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trend-hrana-iz-teglica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-kuglice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zlatni-detalji-ananas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "26" - }, - { - "value": "22" - }, - { - "value": "1208" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "14" - }, - { - "value": "21" - }, - { - "value": "15" - }, - { - "value": "305" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "171" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "151" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "15" - }, - { - "value": "5" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "246" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-poriluk-prasa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/6-ukusnih-poslastica-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aktivni-ugalj-prociscavac-vode/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/amchoor-mango-u-prahu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arancini-narandzice-od-rize/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijeg-od-civilizacije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijela-palenta-i-ragu-od-gljiva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-lagani-povrtni-rucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-djumbir-pivo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-ljetno-osvjezenje-sa-grckim-jogurtom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/buratta-ljubav-na-prvi-zalogaj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caorle-biser-sjevera-italije-1-dio/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cevapi-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/couscous-i-harissa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-vecera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danske-malina-snite/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-kolac-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/divlji-konji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/filadendron-monstera-trend-sobna-biljka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/filmska-preporuka-jos-uvijek-alice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/focaccia-sa-ljubicastim-lukom-i-pecenim-paradajzom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-najlakse-oguliti-djumbir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-jogurt/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korpice-od-parmezana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-na-milion-nacina-rosti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljekovita-snaga-mirisnog-limunovca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-medni-poklopci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/masala-chai/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/miris-kafe-u-parfumeriji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/morski-sipak-nar/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najmanji-paradajz-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-skandinavski-trend-obojeno-cvijece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/olovka-koja-zeli-biti-biljka-kad-naraste/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/oopsie-pecivo-bez-brasna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-jela-od-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-jutarnjih-rutina-na-nacin-kojim-ces-zastiti-okolinu-i-klimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/poledjina-belgijske-cokolade/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-restovani-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponovo-u-modi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/przeni-bademi-sa-cilijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ricotta-kolac-sa-kandiranim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ruzno-i-smrdljivo-voce/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarena-pizza-od-polente/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirup-od-agave-da-ili-ne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slag-na-tortu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stari-dobri-recepti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stari-tanjiri-u-novom-ruhu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-modi-su-balkoni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-pet-bunara-zadar/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-svijetu-cajeva-pukka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-kuglice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "18" - }, - { - "value": "20" - }, - { - "value": "20" - }, - { - "value": "475" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "18" - }, - { - "value": "12" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "14" - }, - { - "value": "10" - }, - { - "value": "278" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "1078" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "12" - }, - { - "value": "7" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "151" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "261" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "246" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "170" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/belgijski-vafli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-crne-soje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chapati-tanki-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudne-sorte-jerusalem-artichokes/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantastican-prilog-peceno-povrce/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/janjske-otoke-dragulj-prirode/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-dan-u-zooloskom-vrtu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-sir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kristijanija-zivot-po-vlastitim-zakonima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/la-recova-malaga-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/limunova-trava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/malaga-srce-andaluzije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/moj-japanski-rucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-graha-sa-korijanderom-i-limetom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutella-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/oopsie-pecivo-bez-brasna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-smokve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-kupus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-poriluk-prasa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pikantni-peceni-slanutak-u-marinara-sosu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-couscous-sa-grilanim-tikvicama-i-susenim-paradajzom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/praznik-rada-svecano-i-radno/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/przeni-bademi-sa-cilijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/serviraj-za-pobjedu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirove-punjene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/soja-kofta-u-paradajz-sosu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "401" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spremanje-kuhinjskih-ormara-i-ladica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "136" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stari-dobri-recepti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stari-tanjiri-u-novom-ruhu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-japanske-metvice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vegeterijanski-burrito/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/wakame-alge/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "32" - }, - { - "value": "43" - }, - { - "value": "39" - }, - { - "value": "1742" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "21" - }, - { - "value": "13" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "17" - }, - { - "value": "13" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "983" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "16" - }, - { - "value": "9" - }, - { - "value": "220" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "357" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "381" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "214" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "17" - }, - { - "value": "5" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "12" - }, - { - "value": "5" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "360" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "86" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "707" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - }, - { - "value": "2" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "274" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mudcake-na-veganski-nacin/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/wakame-alge/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-recepata-i-najvaznije-o-avokadu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/avokado-lice-nalicje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijeg-od-civilizacije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/boje-u-kuhinji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozic-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-djumbir-pivo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cannelloni-sa-spinatom-i-ricotta-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/da-li-su-susene-marelice-zdrave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danci-i-godisnji-odmor/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-rodjendanska-peciva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-kolac-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-mozemo-pomoci-pcelama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-jogurt/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karfiol-na-tri-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/koktel-aperol-spritz-kalelarga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/koktel-avokado-stiti-od-avokado-ruke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-guava-i-pokloni-sa-kube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kristijanija-zivot-po-vlastitim-zakonima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "136" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kultni-dzemper-sare-lund/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-kuhinjski-detalji-kuhinjske-krpe/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-medni-poklopci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marinirani-suseni-paradajz/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mini-baby-povrce/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/miris-kafe-u-parfumeriji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/njegovo-velicanstvo-avokado/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "86" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/3/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/4/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-kupus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-detalja-14/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pita-od-visanja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-razlicak-caj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/secer-zabranjen-u-uzinama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skriveni-secer/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slane-kiflice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sweet-potato-mali-zalogaji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-japanke-stavljaju-ruku-na-usta-kad-se-smiju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "39" - }, - { - "value": "37" - }, - { - "value": "45" - }, - { - "value": "44" - }, - { - "value": "1822" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "23" - }, - { - "value": "15" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "14" - }, - { - "value": "12" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "15" - }, - { - "value": "10" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "785" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "37" - }, - { - "value": "10" - }, - { - "value": "579" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "264" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "276" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "278" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "19" - }, - { - "value": "3" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "229" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ethos-kako-da-ne-sprzis-kafu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lenja-pita/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-poriluk-prasa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-neobicna-pizza-recepta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-namirnica-koje-uvijek-imam-u-frizideru/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/9-dobrih-savjeta-o-ljetnim-sandalama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aglio-e-olio-na-japanski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ah-ta-carobna-venecija/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/basta-zivota-dvorca-egeskov-danska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cafe-miao/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-crne-soje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cevapi-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-okrugla-peciva-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-kolac-iz-snova/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djumbir-limun-shot/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-acai-bobicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/gaudijeva-barcelona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grace-and-frankie/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/granny-smith-jabuka-nad-jabukama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-izabrati-dobru-cokoladu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-sir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kassava-yuca-povrce-buducnosti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-persunom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-od-tri-vrste-zitarica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinja-boje-safrana-knjiga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/liker-od-tresanja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lucia-peciva-sa-safranom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mango-lassi-napitak-od-jogurta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "162" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/miris-kafe-u-parfumeriji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-svadbene-torte/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/netflix-serije-unorthodox/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-skandinavski-trend-obojeno-cvijece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutella-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/okusi-italije-rummo-pasta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ovaj-duet-otpevacu-sam/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/3/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pire-od-krompira-na-5-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponovo-u-modi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/praznicni-kolac-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/royal-copenhagen/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-mrkve-marinirane-sokom-od-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skandinavci-obozavaju-jedan-mali-ormar-zasto-ga-ikea-ne-zeli-vise-prodavati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slane-kiflice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tajlandska-supa-tom-yum-na-vegeterijanski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/torta-sa-vrucom-vodom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-pet-bunara-zadar/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "165" - }, - { - "value": "165" - }, - { - "value": "5220" - }, - { - "value": "0" - }, - { - "value": "92166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "25" - }, - { - "value": "31" - }, - { - "value": "31" - }, - { - "value": "1263" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "29" - }, - { - "value": "19" - }, - { - "value": "618" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "22" - }, - { - "value": "17" - }, - { - "value": "122" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "19" - }, - { - "value": "14" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "14" - }, - { - "value": "14" - }, - { - "value": "20" - }, - { - "value": "15" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "1153" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "165" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "15" - }, - { - "value": "7" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "156" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "8" - }, - { - "value": "4" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-lagani-povrtni-rucak/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cicoke-zato-ih-treba-jesti/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pravilno-cuvati-zacine/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/6-nacina-kako-iskoristiti-toz-od-kave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arapski-dorucak-manakish/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/borba-protiv-krpa-za-jednokratnu-upotrebu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-bez-ili-sa-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cannelloni-sa-spinatom-i-ricotta-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cheesecake-brownie/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chokoladeboller-danska-peciva-sa-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cokoladni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-rodjendanska-peciva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danske-malina-snite/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ethos-kako-da-ne-sprzis-kafu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-supa-od-korjenastog-povrca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticni-banana-cokolada-muffins/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/feta-sir-u-maslinovom-ulju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/gaudijeva-barcelona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grace-and-frankie/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grcka-salata-sa-feta-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/hygge-u-vintapperstraede-stare-lampe-kao-ulicni-ukrasi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-ljetni-dan-na-buvljaku/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pita-sa-prokeljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-da-stari-kruh-pretvoris-u-ukusan-obrok/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-najlakse-oguliti-djumbir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-jogurt/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-kamenog-doba/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/la-recova-malaga-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marinirani-suseni-paradajz/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/morski-sipak-nar/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najpoznatija-danska-vazna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutella-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/3/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-krompir-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-razlicak-caj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/podcast-nas-vlastiti-radio/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/poslovi-vezani-za-bastu-koje-mozes-raditi-zimi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/praline-sa-maslacem-od-kikirikija/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sedam-jela-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/shortbread-keksici-sa-maslacem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slag-na-tortu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spanska-kuhinja-tapas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/wraps-sa-kozjim-sirom-i-medom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "643" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "19" - }, - { - "value": "14" - }, - { - "value": "451" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "23" - }, - { - "value": "12" - }, - { - "value": "137" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "16" - }, - { - "value": "9" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "186" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "273" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "353" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "398" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arapski-dorucak-manakish/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bolji-zivot-i-paprike-punjene-grahom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "175" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/2012-godina-dan-prvi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-ljetne-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-apps-sa-mog-telefona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-italijanskih-poslastica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/6-nacina-kako-iskoristiti-toz-od-kave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/africki-crni-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudne-sorte-jerusalem-artichokes/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "155" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-kolac-iz-snova/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dobrodosli-u-moju-kuhinju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dvadeset-godina-zivljenja-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ethos-kako-da-ne-sprzis-kafu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticni-prilog-za-sir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/filmska-preporuka-jos-uvijek-alice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/hammam-al-andalus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/indijski-zacin-na-francuski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-jogurt/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ko-jede-najvise-bombona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-sa-limunom-i-jogurtom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lazna-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/makaroni-sa-sirom-i-senfom-u-prahu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mala-sirena-obojena-u-crveno-protest/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-izvori-soli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-trendovi-pranje-kose-bez-sampona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "219" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pablo-pikaso-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/162/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pastrnak-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pau-bhai-indijski-pire-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-od-razenog-brasna-sa-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-detalja-50/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pinjoli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-topla-quinoa-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponovo-u-modi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/praznicni-kolac-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-portobello-gljive/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "301" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/shantaram/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-nas-moze-nauciti-hobotnica-i-zasto-bi-svi-trebali-pogledati-dokumentarni-film-my-octopus-teacher/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-servirati-uz-solju-kave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/strikani-kaktusi-bijele-jagode/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-graska-sa-sampanjcem-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/torta-sa-vrucom-vodom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/what-the-health-dokumentarni-film-koji-treba-pogledati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrava-hrana-u-srcu-banja-luke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-kuglice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdraviji-nacin-bojenja-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "24" - }, - { - "value": "23" - }, - { - "value": "29" - }, - { - "value": "26" - }, - { - "value": "552" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "462" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "348" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "182" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "476" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "547" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "290" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "226" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djevojcica-sa-sibicama/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "163" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/africki-crni-sapun/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-sapun/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "267" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/goruca-ljubav-klasik-danske-kuhinje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/piroske-sa-mljevenim-mesom-i-spinatom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/praznicni-kolac-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tvshows/escort-boys-serie-streaming-vf/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-neobicna-pizza-recepta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-stvari-koje-turisti-ne-vole-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "162" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ah-ta-carobna-venecija/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-ljetno-osvjezenje-sa-grckim-jogurtom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cepelinai-prica-o-neuspjelom-postu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chapati-tanki-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/da-li-su-susene-marelice-zdrave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-razeni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-supa-od-korjenastog-povrca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fini-detalji-za-cajanku/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/hrskavi-keksici-od-zobenih-pahuljica-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "187" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/idli-dorucak-na-indijski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "164" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-u-italijanskom-maniru/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kiflice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-od-zobenih-pahuljica-i-krompirovog-brasna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-sa-sirom-i-jagodama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-peceni-u-tavi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-na-milion-nacina-rosti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kultni-dzemper-sare-lund/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/la-recova-malaga-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lazno-meso/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lemon-curd-snite/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/limunova-trava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neizbjezni-nocni-stocic/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-corba-na-drugaciji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pasta-e-ceci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-detalja-14/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-jela-od-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-kuhinjskih-ikea-sitnica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-zacina-iz-moje-kuhinje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pire-od-krompira-na-5-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pire-od-krompira-sa-povrcem-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prakticni-kuhinjski-detalji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prolazim-kroz-zidove/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/shortbread-keksici-sa-maslacem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-servirati-uz-solju-kave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stapic-za-usi-koji-mozes-koristiti-vise-od-1000-puta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/strikani-kaktusi-bijele-jagode/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-crvene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tajlandska-supa-tom-yum-na-vegeterijanski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-modi-su-balkoni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zapeceni-pire-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrava-hrana-crne-boje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "26" - }, - { - "value": "24" - }, - { - "value": "26" - }, - { - "value": "980" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "23" - }, - { - "value": "20" - }, - { - "value": "2209" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "15" - }, - { - "value": "24" - }, - { - "value": "16" - }, - { - "value": "412" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "12" - }, - { - "value": "9" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "220" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "402" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "632" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "11" - }, - { - "value": "5" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "112" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "172" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "256" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "105" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "148" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-slanutka-i-brokula/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "344" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "121" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-zanimljive-ideje-za-postavljanje-stola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-detalja-ove-sedmice-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/africki-crni-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/belgijski-vafli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brunsviger-danski-favorit-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-bez-ili-sa-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cevapi-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cronut-kolac-koji-je-zaludio-svijet/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-vecera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "188" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-razeni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "289" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djevojcica-sa-sibicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/egzoticna-vecera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/hrskavi-keksici-od-zobenih-pahuljica-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/integralna-tjestenina-sa-salsom-od-paradajza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/iz-jedne-engleske-baste/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavno-jelo-od-zelene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kefir-smoothie-sa-borovnicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kiflice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-peceni-u-tavi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/koliko-nam-je-holesterol-visi-nakon-praznika/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-timijanom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-iz-korpice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lucia-peciva-sa-safranom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mijesana-ljetna-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/oopsie-pecivo-bez-brasna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/3/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-poriluk-prasa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceno-jesenje-povrce-kruska-i-kapari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-buddha-bowl-jesenji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rodjendan-i-mala-nagradna-igra/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-sa-heljdom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/shortbread-keksici-sa-maslacem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirove-punjene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sladoled-u-brioche-pecivu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "110" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/snicle-od-karfiola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-je-hygge/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-servirati-uz-solju-kave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tehnika-savijanja-vekne-kruha/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vegeterijanski-burrito/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/visece-saksije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-kuglice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "42" - }, - { - "value": "42" - }, - { - "value": "42" - }, - { - "value": "43" - }, - { - "value": "1497" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "23" - }, - { - "value": "34" - }, - { - "value": "32" - }, - { - "value": "778" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "1261" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "844" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "183" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "1322" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "568" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "156" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "165" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "331" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "13" - }, - { - "value": "4" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "223" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-iz-korpice/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pasteta-po-ukusu-jednog-svjetskog-kulinara/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirove-punjene-paprike/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/torta-sa-vrucom-vodom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "175" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-poklona-iz-japana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/6-nacina-za-pripremanje-ribe/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/africki-crni-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-kristalni-kamen/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/amchoor-mango-u-prahu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kolac-sa-limunom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijela-palenta-i-ragu-od-gljiva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/couscous-i-harissa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-zobenim-mekinjama-i-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-od-sojinog-jogurta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-vrecica-za-pravljenje-leda/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/havajska-so-novi-zacin-u-mojoj-kuhinji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/hercampuri-eliksir-zdravlja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ikea-zasto-je-svi-volimo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/integralna-tjestenina-sa-salsom-od-paradajza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "246" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-salata-sa-mladim-lukom-vlascem-i-rotkvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kultni-dzemper-sare-lund/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "284" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/la-frittata-alla-ricotta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/liker-od-tresanja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljubicasti-krompir-crown-prince-bundeva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mastoviti-kuhinjski-prozori/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/miris-kafe-u-parfumeriji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/morski-sipak-nar/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mracne-tajne-prehrambene-industrije-ljepilo-za-meso/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutella-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ormar-sa-37-komada-odjece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/palacinke-na-slatki-i-slani-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-krompir-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pita-krompirusa-sa-susenim-vlascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-farinata-jednostavni-italijanski-specijalitet/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponovo-u-modi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/praline-sa-maslacem-od-kikirikija/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-jovane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/riblja-kost-biljka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rucak-bez-mesa-indijski-curry-sa-gljivama-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-mrkve-marinirane-sokom-od-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarena-pizza-od-polente/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sedam-jela-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sedam-stvarcica-iz-moje-kuhinje-koje-zivot-znace/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skandinavci-obozavaju-jedan-mali-ormar-zasto-ga-ikea-ne-zeli-vise-prodavati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slane-jaja-palacinke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-je-hygge/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-modi-su-balkoni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "135" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-koje-su-nepravedno-osudili/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrava-hrana-crne-boje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "36" - }, - { - "value": "47" - }, - { - "value": "43" - }, - { - "value": "1488" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "22" - }, - { - "value": "21" - }, - { - "value": "1456" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "518" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "1118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "182" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "346" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "150" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "181" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "188" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "199" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "180" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mini-palacinke-od-zobenih-mekinja-sa-vocem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "202" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nase-duse-u-noci/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "282" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "297" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "79" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/14-savjeta-za-sve-koji-pocinju-kuhati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-namirnica-koje-uvijek-imam-u-frizideru/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-crne-soje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cevapi-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "148" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chokoladeboller-danska-peciva-sa-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cicoke-zato-ih-treba-jesti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cijeli-dorucak-u-jednoj-casi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cokoladna-zobena-kasa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudne-sorte-jerusalem-artichokes/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dah-proslosti-la-alcazaba/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-rodjendanska-peciva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-razeni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/domaci-sladoled-na-stapicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-zobenim-mekinjama-i-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/engleski-christmas-pudding/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fougasse-tanki-francuski-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/janjske-otoke-dragulj-prirode/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-najlakse-oguliti-djumbir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-sa-limunom-i-jogurtom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-sa-medom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuglice-sa-zobenim-mekinjama-i-kokosom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/limunova-trava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/makaroni-sa-sirom-i-senfom-u-prahu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/miris-kafe-u-parfumeriji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/moj-novi-hobi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "175" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najlaksi-nacin-da-zavolis-heljdu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najstarije-vino-na-svijetu-mjod/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nicoise-salata-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/okusi-italije-rummo-pasta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/palacinke-na-slatki-i-slani-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/palacinke-s-bananom-i-zobenim-pahuljicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-detalja-50/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-detalja-sape-ruzina-voda/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pire-od-krompira-na-5-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pire-od-krompira-sa-povrcem-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-razlicak-caj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-medjoul-datule/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/restoran-koji-servira-ostatke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ruzno-i-smrdljivo-voce/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-sa-heljdom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sipak-kao-dodatak-prehrani/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sipak-u-prahu-baklava-sa-pistacijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirove-punjene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-je-hygge/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zapeceni-pire-krompir-pippe-middleton/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-kuglice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "178" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/znamenitosti-rima-koje-treba-vidjeti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "30" - }, - { - "value": "39" - }, - { - "value": "36" - }, - { - "value": "1382" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "20" - }, - { - "value": "18" - }, - { - "value": "1662" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "272" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "189" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "14" - }, - { - "value": "13" - }, - { - "value": "151" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "220" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "214" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "188" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "186" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cannelloni-sa-spinatom-i-ricotta-sirom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "156" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/filmska-preporuka-jos-uvijek-alice/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "221" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/integralna-tjestenina-sa-salsom-od-paradajza/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "177" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-razlicak-caj/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "321" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/14-savjeta-za-sve-koji-pocinju-kuhati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-poklona-iz-japana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/6-ukusnih-poslastica-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ah-ta-carobna-venecija/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/belgijski-dragulj-antwerpen/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/borba-protiv-krpa-za-jednokratnu-upotrebu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvene-torte/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-tanki-kruh-sa-spinatom-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-vjecni-zivot/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chapati-tanki-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cokoladne-stikle/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/da-li-su-susene-marelice-zdrave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dah-proslosti-la-alcazaba/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danske-kuce-sa-slamnatim-krovom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djelic-danske-kulture-kutije-sa-uzinom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "570" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/energetske-kuglice-sa-pistacijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/focaccia-sa-paradajzom-i-ruzmarinom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/iz-japanskih-trgovina-2-dio/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "112" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "159" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-smoothie-sa-borovnicama-i-kokosom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-chai/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-sir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-u-italijanskom-maniru/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kiflice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-sa-mrkvom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-peceni-u-tavi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/liker-od-tresanja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/limunova-trava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/losos-na-grilu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-danci-spavaju-napolju-i-zimi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-medni-poklopci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/med-za-sve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "322" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nicoise-salata-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/okusi-italije-rummo-pasta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/palenta-na-4-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/panzanella-salata-sa-kruhom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pastrnak-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-krompir-na-grcki-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-od-razenog-brasna-sa-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-ingvild/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/przeni-bademi-sa-cilijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-portobello-gljive/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-slanutka-i-brokula/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sjemenke-lana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tapas-kultura/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-jabukama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zato-treba-izbjegavati-palminu-mast/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "25" - }, - { - "value": "27" - }, - { - "value": "28" - }, - { - "value": "1117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "1069" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "560" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "155" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "177" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "318" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "276" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "243" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "367" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "121" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "351" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "252" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-razeni-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "222" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-koji-stoji-preko-noci-zobene-pahuljice-sa-jabukom-i-cimetom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korpe-za-ves-sa-stilom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercato-trionfale-zatvorena-trznica-u-rimu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/14-savjeta-za-sve-koji-pocinju-kuhati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/3-poznata-recepta-u-vegeterijanskoj-verziji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/6-ukusnih-poslastica-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijela-palenta-i-ragu-od-gljiva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-djumbir-pivo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cejlonski-caj-fortnum-mason/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chapati-tanki-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "129" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cheesecake-brownie/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/da-li-su-susene-marelice-zdrave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dah-proslosti-la-alcazaba/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/desert-za-pet-minuta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djevojcica-sa-sibicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-zobenim-mekinjama-i-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/eggs-in-purgatory-jaja-u-cistilistu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/film-koji-svakako-treba-pogledati-the-lunchbox/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/filmski-prijedlog-za-januar-lion/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fini-detalji-za-cajanku/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-mladi-krompir-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/holandski-sir-proljece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavno-jelo-od-zelene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-pice-za-dobrodoslicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-sir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/la-recova-malaga-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/liker-od-tresanja-2-dio/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/liker-od-tresanja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/makaroni-sa-sirom-i-senfom-u-prahu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/manuka-med-san-marzano-paradajz/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "254" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mini-palacinke-od-zobenih-mekinja-sa-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/morski-sipak-nar/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neke-vrste-vrecica-ostavljaju-mikroplastiku-u-nasoj-solji-caja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/netflix-serije-unorthodox/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nova-netflix-serija-the-crown/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/okrugla-peciva-sa-mrkvom-gulerodsboller/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/orascici-za-pranje-rublja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pakovanje-poklona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-jela-od-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-razlicak-caj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pomoc-za-umorne-noge/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prakticni-kuhinjski-detalji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prodavacica-sayaka-murata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/przeni-bademi-sa-cilijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-medjoul-datule/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/royal-copenhagen/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-slanutka-i-brokula/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sataras/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sedam-jela-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-je-hygge/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tajlandska-supa-tom-yum-na-vegeterijanski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "131" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-jabukama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zanemarene-namirnice-leca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrava-hrana-crne-boje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "489" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "14" - }, - { - "value": "10" - }, - { - "value": "168" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "300" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "132" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "381" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "358" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/oopsie-pecivo-bez-brasna/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cannelloni-sa-spinatom-i-ricotta-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "260" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "223" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "152" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "281" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cvijet-koji-mirise-na-cokoladu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "173" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "303" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "195" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-razlicak-caj/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "125" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-medjoul-datule/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "167" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/15-ideja-za-zdrav-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/boje-u-kuhinji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/briselski-tepih-od-cvijeca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cevapi-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/couscous-salata-sa-graskom-i-grozdjicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-kolac-iz-snova/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fattoush-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ikigai-japanska-tajna-dugog-sretnog-zivota/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kajgana-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kajgana-sa-sirom-i-bez-jaja-i-bez-sira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-crveni-pesto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-sir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korpe-za-ves-sa-stilom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kristijanija-zivot-po-vlastitim-zakonima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjski-detalji-plocice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lazno-meso/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/liker-od-tresanja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-kuhinjski-detalji-kuhinjske-krpe/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/matcha-vise-nego-caj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/med-sa-djumbirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/morski-sipak-nar/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mudcake-na-veganski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/muzej-na-otvorenom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutella-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/o-meni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "159" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/3/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/patatas-bravas-hrskavi-krompir-u-aromaticnom-sosu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-jela-od-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-zmijanjski-vez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-couscous-sa-grilanim-tikvicama-i-susenim-paradajzom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "232" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-milana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/risotto-sa-portobello-gljivama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sedam-jela-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirup-od-agave-da-ili-ne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sladoled-u-brioche-pecivu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tagine-bez-mesa-giant-couscous/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "122" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/torta-sa-vrucom-vodom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-japanske-metvice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-se-plasticne-slamcice-izbacuju-iz-upotrebe/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdjelice-su-novi-tanjiri/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "27" - }, - { - "value": "25" - }, - { - "value": "32" - }, - { - "value": "31" - }, - { - "value": "841" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "679" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "14" - }, - { - "value": "12" - }, - { - "value": "747" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "11" - }, - { - "value": "8" - }, - { - "value": "165" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "369" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "210" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "185" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "106" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "503" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "239" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "134" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "116" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "185" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "155" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-od-tri-vrste-zitarica/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "163" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "259" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-sa-heljdom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/amelie-slatki-rendez-vous/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arapski-dorucak-manakish/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/borba-protiv-krpa-za-jednokratnu-upotrebu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozic-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-ljetno-osvjezenje-sa-grckim-jogurtom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cantuccini-od-kestenovog-brasna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticni-americki-kolacici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/filadendron-monstera-trend-sobna-biljka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/granita-od-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "148" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/groznica-zvana-elena-ferrante/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/hrskavi-keksici-od-zobenih-pahuljica-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ikea-zasto-je-svi-volimo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/javorov-sirup/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "169" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kad-lisce-pada/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-njegovati-kosu-zimi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-na-stapicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lenja-pita/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljeto-u-rogoznici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "202" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lupini-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/napuljska-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-svadbene-torte/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novogodisnja-obecanja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pablo-pikaso-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pakovanje-poklona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/papirna-casa-kao-ukrasna-saksija/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pasta-e-ceci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-poriluk-prasa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-zacina-iz-moje-kuhinje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pire-od-krompira-sa-povrcem-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-razlicak-caj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-zmijanjski-vez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-obrok-salata-sa-tjesteninom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-o-medenjacima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "233" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ruzno-i-smrdljivo-voce/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarena-pizza-od-polente/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/shantaram/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sipak-u-prahu-baklava-sa-pistacijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spanska-kuhinja-tapas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-sa-razbijenom-saksijom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stop-bacanju-hrane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tepih-na-zid-umjesto-na-pod/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zapecene-rolnice-od-patlidzana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "28" - }, - { - "value": "28" - }, - { - "value": "30" - }, - { - "value": "28" - }, - { - "value": "2075" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "15" - }, - { - "value": "17" - }, - { - "value": "17" - }, - { - "value": "834" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "14" - }, - { - "value": "10" - }, - { - "value": "517" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "252" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "499" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "182" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "387" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "356" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "175" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "211" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceno-jesenje-povrce-kruska-i-kapari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-japanske-metvice/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "338" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "216" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-namirnice-koje-volim-imati-u-kuhinji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arapski-dorucak-manakish/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/basta-zivota-dvorca-egeskov-danska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijeg-od-civilizacije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-napolitanska-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozic-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-vocna-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cepelinai-prica-o-neuspjelom-postu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chapati-tanki-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cicoke-zato-ih-treba-jesti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cijeli-dorucak-u-jednoj-casi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudotvorni-sok-od-stabljike-celera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dah-proslosti-la-alcazaba/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-okrugla-peciva-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danske-zene-preko-65-najsretnije-u-evropi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "195" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-supa-od-korjenastog-povrca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grace-and-frankie/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/islandska-nordjur-so/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanska-caprese-salata-na-drugaciji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-topli-sendvic-mozzarella-in-carrozza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-poslastica-sa-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavno-jelo-od-zelene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kassava-yuca-povrce-buducnosti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kisela-djetelina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/koju-salatu-da-pravim-danas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kremaste-kuglice-labneh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-na-milion-nacina-rosti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-sa-medom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lammily-lutka-realnih-proporcija/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lampa-od-himalajske-soli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljekovita-snaga-mirisnog-limunovca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lucia-peciva-sa-safranom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lupini-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marinirani-suseni-paradajz/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mini-pite-sa-jabukama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najstarije-vino-na-svijetu-mjod/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/narandzasta-je-nova-crna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/10/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/11/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/12/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/13/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/14/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/15/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/16/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/17/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/18/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/19/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/20/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/21/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/22/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/3/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/4/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/5/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/6/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/7/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/8/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/9/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/palenta-na-4-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pasta-e-ceci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pau-bhai-indijski-pire-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "135" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-kupus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-zmijanjski-vez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pojacivaci-okusa-na-zdraviji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/poslovi-vezani-za-bastu-koje-mozes-raditi-zimi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proljetne-rolice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ricotta-kolac-sa-kandiranim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-mrkve-marinirane-sokom-od-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skandinavci-obozavaju-jedan-mali-ormar-zasto-ga-ikea-ne-zeli-vise-prodavati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slane-kiflice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-crvene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-graska-sa-sampanjcem-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tehnika-savijanja-vekne-kruha/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "359" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trendovi-stare-secernice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tunacado-sendvic/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tvrdi-ili-tecni-sapuni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vlazne-maramice-pune-stetnih-sastojaka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/voda-iz-plasticne-boce-ili-iz-slavine/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zanemarene-namirnice-leca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zapecene-rolnice-od-patlidzana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "25" - }, - { - "value": "23" - }, - { - "value": "28" - }, - { - "value": "27" - }, - { - "value": "1054" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "493" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "265" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "578" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "164" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "243" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "232" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-sapun/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "176" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-crne-soje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kiflice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "314" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirove-punjene-paprike/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "156" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/3-ideje-za-zdrav-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-poklona-iz-japana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-kristalni-kamen/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijela-palenta-i-ragu-od-gljiva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvene-torte/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/buratta-ljubav-na-prvi-zalogaj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "106" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cevapi-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "104" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cijeli-dorucak-u-jednoj-casi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crumble-cake-i-rabarbara/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cvijet-koji-mirise-na-cokoladu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-okrugla-peciva-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-od-sojinog-jogurta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-supa-od-korjenastog-povrca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/focaccia-sa-spinatom-i-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-mladi-krompir-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/iskljuci-televizor-i-uzivaj-u-hrani/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kajgana-u-serpi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-ocistiti-mrlje-od-caja-na-soljama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pravilno-cuvati-zacine/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/koliko-nam-je-holesterol-visi-nakon-praznika/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korpe-za-ves-sa-stilom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-sa-medom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljekovita-snaga-mirisnog-limunovca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-medni-poklopci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/maslinovo-ulje-za-dug-i-zdrav-zivot/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/med-sa-djumbirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/metro-keramicke-plocice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobican-cvijet/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novogodisnja-obecanja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pakovanje-poklona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pasta-e-ceci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-kupus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-detalja-sape-ruzina-voda/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-zmijanjski-vez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-topla-quinoa-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/poslovi-vezani-za-bastu-koje-mozes-raditi-zimi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-jasne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-milana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sezam-kolacici-bez-brasna-mlijeka-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slane-kiflice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/soja-kofta-u-paradajz-sosu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tepih-na-zid-umjesto-na-pod/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tikvice-sa-parmezanom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/torta-sa-vrucom-vodom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-japanske-metvice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/uskrs-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-japanci-nose-maske-na-ustima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zato-treba-izbjegavati-palminu-mast/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrava-hrana-crne-boje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "29" - }, - { - "value": "40" - }, - { - "value": "34" - }, - { - "value": "1108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "16" - }, - { - "value": "11" - }, - { - "value": "381" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "829" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "186" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "159" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "181" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "178" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "506" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "165" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "374" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1525" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozic-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "137" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "564" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "122" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kiflice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-guava-i-pokloni-sa-kube/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lampa-od-himalajske-soli/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/3/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-zmijanjski-vez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "118" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-sa-heljdom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-nezdrave-navike-koje-je-lako-pretvoriti-u-zdrave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/9-poslastica-sa-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/belgijski-vafli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvene-torte/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozicni-poklon-na-mom-radnom-mjestu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozicni-shopping/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crveno-bijelo-roze-ili-plavo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cudne-misli-u-mojoj-glavi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-bozic-u-slikama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djelic-danske-kulture-kutije-sa-uzinom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/eksperiment-koji-je-izazvao-paznju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/filmski-prijedlog-za-januar-lion/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grcka-salata-sa-feta-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/heljdina-kasa-za-zdrav-pocetak-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/hrskavi-keksici-od-zobenih-pahuljica-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/islandska-nordjur-so/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pita-sa-prokeljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-poslastica-sa-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-pice-za-dobrodoslicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-sacuvati-grah-tokom-zime/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "172" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "147" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-persunom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lazno-meso/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/matcha-latte-hygge/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mini-baby-povrce/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/morski-sipak-nar/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-muffins-sa-borovnicama-i-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najlaksi-nacin-da-zavolis-heljdu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nova-netflix-serija-the-crown/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-trendovi-strikanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/10/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/11/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/12/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/13/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/4/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/5/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/6/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/7/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/8/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/9/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pakovanje-poklona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pinjoli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pokloni-koji-cine-razliku/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-ivane-u-americi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-jovane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/simbol-kopenhagena-medju-pet-najvecih-turistickih-razocarenja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skandinavci-obozavaju-jedan-mali-ormar-zasto-ga-ikea-ne-zeli-vise-prodavati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-servirati-uz-solju-kave/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-japanske-metvice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-koje-su-nepravedno-osudili/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/umjetnost-pakovanja-poklona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-kuglice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "31" - }, - { - "value": "41" - }, - { - "value": "37" - }, - { - "value": "1021" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "16" - }, - { - "value": "510" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "411" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "18" - }, - { - "value": "16" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "147" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "421" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "9" - }, - { - "value": "10" - }, - { - "value": "464" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "106" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "281" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "246" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "222" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/africki-crni-sapun/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/energetske-kuglice-sa-pistacijem/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "179" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-zuta-repa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "154" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-poriluk-prasa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-lijepih-vitrina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/banjalucka-trznica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijeg-od-civilizacije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "76" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-bozic-u-slikama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/djumbir-limun-shot/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ethos-kako-da-ne-sprzis-kafu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-supa-od-korjenastog-povrca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/favorit-kuhinjska-spravica-u-januaru/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fire-finansijska-nezavisnost-i-rana-penzija/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/gril-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "230" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-za-cijelu-sedmicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-ispeci-losos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-salata-sa-mladim-lukom-vlascem-i-rotkvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-od-tri-vrste-zitarica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lupini-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-voce-italijanski-cannelloni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marinirane-haringe/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/med-za-sve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "198" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/metro-keramicke-plocice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mini-baby-povrce/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mjesto-gdje-se-spajaju-dva-mora/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/muskatni-orascic/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/narandzasta-je-nova-crna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobican-cvijet/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/okiagari-koboshi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/okra-i-kleopatra/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-kupus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-jela-od-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-razlicak-caj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-obrok-salata-sa-tjesteninom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-restovani-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-o-medenjacima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/przeni-bademi-sa-cilijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-medjoul-datule/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-portobello-gljive/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/raffaello-kuglice-na-zdraviji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/risotto-sa-portobello-gljivama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rusticni-kruh-sa-zobenim-mekinjama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ruzmarin-mala-tajna-dugovjecnih-italijana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-mrkve-marinirane-sokom-od-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-sa-heljdom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/soja-kofta-u-paradajz-sosu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spanska-kuhinja-tapas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tehnika-savijanja-vekne-kruha/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/umjetnost-pakovanja-poklona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vegeterijanski-burrito/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zapeceni-pire-krompir-pippe-middleton/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zapeceni-pire-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zato-ne-bi-trebalo-kupovati-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrava-hrana-u-srcu-banja-luke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-rutine-crvena-salata-sa-svjezom-cveklom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zobena-kasa-sa-kokosovim-mlijekom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "32" - }, - { - "value": "34" - }, - { - "value": "35" - }, - { - "value": "1423" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "16" - }, - { - "value": "22" - }, - { - "value": "18" - }, - { - "value": "752" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "194" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "129" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "388" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "236" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "360" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "198" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "143" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "277" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "168" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "137" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-o-medenjacima/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "337" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "221" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "237" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/energetske-kuglice-sa-pistacijem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-peceni-u-tavi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korpice-od-parmezana/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "134" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/la-recova-malaga-dorucak/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/9-stvari-iz-mog-nesesera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijeg-od-civilizacije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijela-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvene-torte/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozic-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kruh-bez-kvasca-soda-bread/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-vjecni-zivot/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chia-sjemenke-mogu-proklijati-uzgoji-sam-svoju-chia-biljcicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cicoke-zato-ih-treba-jesti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cokoladne-stikle/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crisp-bread-domaci-hrskavi-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danci-i-godisnji-odmor/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/eggs-in-purgatory-jaja-u-cistilistu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fougasse-tanki-francuski-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-romanesco/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/grace-and-frankie/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/idli-dorucak-na-indijski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/islandska-nordjur-so/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedemo-li-wasabi-ili-kopiju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "106" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pravilno-cuvati-zacine/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-od-slatkog-korjena-liquorice-cookies/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-daske-za-sjeckanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lampa-od-himalajske-soli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lasagne-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lenja-pita/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/med-sa-djumbirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "128" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najljepsi-izlog-kopenhagena/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicni-stativi-za-susenje-posudja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/oopsie-pecivo-bez-brasna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/panpepato-slatki-poklon-iz-toskane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceno-jesenje-povrce-kruska-i-kapari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/piroske-sa-mljevenim-mesom-i-spinatom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pojacivaci-okusa-na-zdraviji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-one-pot-spagete-najbrzi-recept-za-jelo-s-tjesteninom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-o-grancici-imele/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prolazim-kroz-zidove/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/przeni-bademi-sa-cilijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-portobello-gljive/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/rucak-sa-pogledom-u-restoranu-kazamat-u-banja-luci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-zute-i-sarene-cikle/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sezam-kolacici-bez-brasna-mlijeka-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sipak-kao-dodatak-prehrani/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sipak-u-prahu-baklava-sa-pistacijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirove-punjene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/smoothie-sa-jabukom-stabljikom-celera-i-sjemenkama-konoplje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/staro-posudje-keleraba/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tehnika-savijanja-vekne-kruha/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tjestenina-sa-ricotta-sirom-i-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/torta-sa-vrucom-vodom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vanilice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-japanci-nose-maske-na-ustima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "94" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zato-treba-izbjegavati-palminu-mast/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "122" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "20" - }, - { - "value": "25" - }, - { - "value": "22" - }, - { - "value": "2363" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "10" - }, - { - "value": "13" - }, - { - "value": "16" - }, - { - "value": "543" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "14" - }, - { - "value": "15" - }, - { - "value": "460" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "181" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "463" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "264" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "625" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "224" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "199" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "356" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "219" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/africki-crni-sapun/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "112" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "113" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "556" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/limunova-trava/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-detalja-sape-ruzina-voda/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sedam-jela-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vruce-kiflice-za-hladne-dane/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "221" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-za-uspjesnu-kupovinu-poklona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/12-lakih-nacina-do-zdrave-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/15-ideja-za-zdrav-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-poklona-iz-japana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "115" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arapski-dorucak-manakish/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/borba-protiv-krpa-za-jednokratnu-upotrebu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-napolitanska-pizza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-lagani-povrtni-rucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-povrtni-curry-sa-klincicima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cicoke-zato-ih-treba-jesti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crvene-narandze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danska-vecera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-koji-stoji-preko-noci-zobene-pahuljice-sa-jabukom-i-cimetom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-zobenim-pahuljicama-za-sedam-dana-u-sedmici/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dressing-za-salate/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/energetske-kuglice-sa-pistacijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-supa-od-korjenastog-povrca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/furoshiki-japanski-nacin-pakovanja-poklona-bez-papira-i-plastike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanska-caprese-salata-na-drugaciji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pasta-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-musli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "109" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kiflice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korpe-za-ves-sa-stilom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-sa-medom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/la-recova-malaga-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljekovita-snaga-mirisnog-limunovca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "172" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljevusa-sa-toskanskim-keljom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "545" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/metro-keramicke-plocice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mirisni-curry-sa-krompirom-i-karfiolom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mozemo-li-biti-zdraviji-jeduci-u-prozoru-od-10-sati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "142" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/namaz-od-suvih-smokava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/napola-ukiseljeni-krastavci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/netflix-serije-unorthodox/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "157" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-trendovi-pranje-kose-bez-sampona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-zacin-u-mojoj-kuhinji-makedonska-biena-sol/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/okiagari-koboshi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paprike-punjene-krompirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-jela-od-krompira/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-buddha-bowl-jesenji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-couscous-sa-grilanim-tikvicama-i-susenim-paradajzom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "124" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-farinata-jednostavni-italijanski-specijalitet/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/povrce-sa-kajenskim-biberom-i-rizinim-nudlama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prakticni-kuhinjski-detalji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-dragane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-kuhinje-kod-jovane/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-o-medenjacima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/royal-copenhagen/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/shortbread-keksici-sa-maslacem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "74" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirnica-sa-danskim-sirom-i-sampinjonima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirove-punjene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/spageti-sa-maslinama-i-kaparima-puttanesca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stare-stolice-kao-ukrasi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-graska-sa-sampanjcem-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sweet-potato-mali-zalogaji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tri-dobre-stvari-sa-river-cottage/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ulje-japanske-metvice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/usecerene-jabuke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-jabukama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vegeterijanska-minestrone-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vegeterijanski-burrito/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrava-hrana-crne-boje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-kuglice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdraviji-nacin-bojenja-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "22" - }, - { - "value": "23" - }, - { - "value": "23" - }, - { - "value": "602" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "18" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "1201" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "701" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "11" - }, - { - "value": "12" - }, - { - "value": "453" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "206" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "83" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "250" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "526" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "136" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zato-treba-izbjegavati-palminu-mast/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-za-uspjesnu-kupovinu-poklona/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "111" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "5" - }, - { - "value": "2" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticno-rjesenje-za-male-balkone/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "190" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lijeni-kroasani/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "112" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/miris-kafe-u-parfumeriji/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "117" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "176" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "77" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tjestenina-sa-pecenim-paprikama-i-daskom-mediterana/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "160" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/visece-saksije/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/15-ideja-za-zdrav-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-namirnice-koje-volim-imati-u-kuhinji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "80" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-okrugle-poslastice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-namirnica-koje-uvijek-imam-u-frizideru/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "93" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aktivni-ugalj-prociscavac-vode/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/aleppo-kristalni-kamen/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/arapski-dorucak-manakish/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/banana-kolac-sa-tamnom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bijela-palenta-i-ragu-od-gljiva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/boje-u-kuhinji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-lagani-povrtni-rucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-vjecni-zivot/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-koji-stoji-preko-noci-zobene-pahuljice-sa-jabukom-i-cimetom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/energetske-kuglice-sa-pistacijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ethos-kako-da-ne-sprzis-kafu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/fantasticna-supa-od-korjenastog-povrca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/flaster-rasizam/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/glazirani-mladi-krompir-sa-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/inspirativne-price-1000-hobotnica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/integralna-tjestenina-sa-salsom-od-paradajza/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/iz-jedne-engleske-baste/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jacaranda-mimosifolia-drvo-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "207" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavno-jelo-od-zelene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kefir-smoothie-sa-borovnicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kokosovo-ulje-cuvar-kose-u-zimskom-periodu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "120" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolacici-bez-brasna-jaja-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "27" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korpice-od-parmezana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-sa-medom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lasagne-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lasagne-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "149" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lupini-salata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "255" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/malaga-srce-andaluzije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-medni-poklopci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/meksicka-hrana-brz-i-zdrav-rucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "86" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/metro-keramicke-plocice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mramorni-kuglof-sa-suvim-grozdjem-i-rumom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najlaksi-nacin-da-zavolis-heljdu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "147" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "252" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-trendovi-pranje-kose-bez-sampona/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-corba-na-drugaciji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "85" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peceni-kupus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-detalja-sape-ruzina-voda/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pire-od-krompira-na-5-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pita-krompirusa-sa-susenim-vlascem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pomagala-za-pravljenje-torti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-chili-sin-carne/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/praznicni-kolac-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-medjoul-datule/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/risotto-sa-portobello-gljivama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ruzno-i-smrdljivo-voce/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-slanutka-i-brokula/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sir-zbog-kojeg-su-se-sporili-francuzi-i-svajcarci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "195" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirove-punjene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skriveni-secer/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-nas-moze-nauciti-hobotnica-i-zasto-bi-svi-trebali-pogledati-dokumentarni-film-my-octopus-teacher/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-crvene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "84" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-graska-sa-sampanjcem-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "187" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-modi-su-balkoni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "43" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/u-posjeti-restoranu-el-pimpi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zapeceni-pire-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "23" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrava-hrana-u-srcu-banja-luke/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "15" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "296" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "13" - }, - { - "value": "12" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "768" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "12" - }, - { - "value": "18" - }, - { - "value": "15" - }, - { - "value": "756" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "647" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "122" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "456" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "188" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "375" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/projice-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "123" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "175" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-kuhati-na-pari/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "192" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-lako-pripremiti-articoke/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "432" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "306" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "75" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-najboljih-bozicnih-filmova/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "237" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-dobrih-savjeta-kako-sloziti-platu-sa-sirom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "197" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-koji-stoji-preko-noci-zobene-pahuljice-sa-jabukom-i-cimetom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "155" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "99" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "210" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-je-sendvic-dobio-ime/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "246" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecene-paprike/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-ljetna-povrtna-supa/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "56" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posuda-za-pranje-salate/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "174" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/tvrdi-ili-tecni-sapuni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-zanimljivosti-o-zivotu-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-poslastice-sa-jabukama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/africki-crni-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/basta-zivota-dvorca-egeskov-danska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "189" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biser-italijanske-kuhinje-pasta-alla-norma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvene-torte/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozic-u-danskoj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brisel-grad-piva-cokolade-i-eu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "95" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-zimska-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-ustipci-sa-tikvicama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzo-djumbir-pivo/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/caj-od-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crni-ugalj-za-bijele-zube/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/cvrsti-sampon-novi-nacin-pranja-kose/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danske-kuce-sa-slamnatim-krovom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "69" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danske-zene-preko-65-najsretnije-u-evropi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/danski-kolac-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/digestive-keks-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dorucak-sa-proteinom-graska/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "19" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dva-pomagala-za-uspjesniju-praznicnu-veceru/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/havajska-so-novi-zacin-u-mojoj-kuhinji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ikigai-japanska-tajna-dugog-sretnog-zivota/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanska-caprese-salata-na-drugaciji-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavne-tofu-nudle-sa-kupusom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "57" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jelovnik-bez-mesa-za-7-dana/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jesen-u-gradu-poslastice-s-jabukama-francuski-sapun/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kakao-napitak-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "37" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-turski-caj-od-jabuka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kasa-od-prosa-sa-mljevenim-orasima-cimetom-i-svjezim-vocem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kassava-yuca-povrce-buducnosti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-sa-jabukama-i-kupinama/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "90" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-kamenog-doba/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuglice-sa-zobenim-mekinjama-i-kokosom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-ikea-sitnice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-table-za-pisanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kukuruzna-ljevusa-sa-mascarpone-sirom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/la-recova-malaga-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lenja-pita/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/limunova-trava/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/malaga-srce-andaluzije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "134" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mali-medni-poklopci/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "51" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/metro-keramicke-plocice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/morski-sipak-nar/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/noletove-super-pahuljice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-trend-bambus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "130" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/nutritivni-kvasac-kako-i-zasto/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pablo-pikaso-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "139" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/3/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/4/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/5/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/6/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/7/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/paradajz-supa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pasteta-po-ukusu-jednog-svjetskog-kulinara/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peglate-li-jos-uvijek-imaju-li-proizvodjaci-pegli-razloga-za-brigu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/plavi-razlicak-caj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "25" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/polenta-tortice-sa-salsom-i-kozjim-sirem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "82" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-tortilla-pizza-sa-povrcem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-o-medenjacima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "107" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prodavacica-sayaka-murata/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "137" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/punjene-medjoul-datule/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-od-slanutka-i-brokula/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/salata-sa-heljdom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/setnja-kroz-tivoli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sezam-kolacici-bez-brasna-mlijeka-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "133" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skandinavci-obozavaju-jedan-mali-ormar-zasto-ga-ikea-ne-zeli-vise-prodavati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/skriveni-secer/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/slavski-kolac-i-slikanje-na-svili/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sram-od-letenja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "100" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/stabljike-celera-i-waldorf-salata-na-novi-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/supa-od-crvene-lece/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/torvehallerne-zatvorena-trznica-u-kopenhagenu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "101" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trendovi-stare-secernice/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/visece-saksije/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/vitastiq-olovka-koja-mjeri-vitamine-u-tijelu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zanemarene-namirnice-leca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-japanke-stavljaju-ruku-na-usta-kad-se-smiju/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-se-plasticne-slamcice-izbacuju-iz-upotrebe/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "18" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-zaustavljena-prodajaj-omeksivaca-rublja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "32" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zato-ne-bi-trebalo-kupovati-ruze/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrava-hrana-crne-boje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zimska-kremasta-supa-od-mrkve/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/bozanstvena-bomba-torta-i-cestitika/" - } - ], - "metricValues": [ - { - "value": "23" - }, - { - "value": "21" - }, - { - "value": "23" - }, - { - "value": "23" - }, - { - "value": "1119" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-kukuruza/" - } - ], - "metricValues": [ - { - "value": "22" - }, - { - "value": "19" - }, - { - "value": "27" - }, - { - "value": "22" - }, - { - "value": "753" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolje-i-najbrze-kiflice/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "235" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pet-stvari-po-kojima-je-danska-poznata-u-svijetu/" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "9" - }, - { - "value": "12" - }, - { - "value": "9" - }, - { - "value": "1007" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kljukusa-sa-jogurtom-i-bijelim-lukom/" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "10" - }, - { - "value": "9" - }, - { - "value": "493" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/4-laka-recepta-sa-kukuruznim-brasnom/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-u-kaputu/" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "165" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/8-korisnih-savjeta-za-cuvanje-sira/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "138" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-posirano-jaje/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kladdkaka-jednostavni-svedski-kolac/" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-ideja-za-rucak-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/dahl-brzo-i-ukusno-indijsko-jelo-sa-crvenom-lecom/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/italijanski-durum-kruh-pan-pugliese/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "46" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ustipci-sa-kvascem/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/varivo-sa-mahunama-i-krompirom-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "141" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brownies-sa-bijelom-cokoladom/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/chapati-tanki-kruh/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavna-pogaca/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jela-bez-mesa-krompir-paprikas/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "38" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-sa-vrhnjem-za-kuhanje/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-vocka-za-novogodisnju-trpezu/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "144" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/marmite-volis-ili-ne-volis/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "89" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/oopsie-pecivo-bez-brasna/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "110" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-pohovani-tofu-stapici/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "78" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-povrce-peceno-u-rerni/" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "411" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/10-savjeta-kako-malu-kuhinju-napraviti-vecom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/5-dobrih-razloga-zasto-zapoceti-dan-zobenom-kasom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/7-supa-bez-mesa/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/americki-kukuruzni-kruh/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/biljke-mesozderi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "87" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brza-poslastica-grilovani-marshmallows/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/brzi-kolac-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/buratta-ljubav-na-prvi-zalogaj/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/crijeva-sa-sarmom-knjiga-koju-svakako-treba-procitati/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "81" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/domaci-sladoled-na-stapicu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/energetske-kuglice-sa-pistacijem/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ezme-turski-pikantni-sos/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "132" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/idea-za-uredjenje-hodnika/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/isto-tijesto-bezbroj-vrsta-kolacica/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jedan-indijski-orascic-jedna-bacena-vocka/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "102" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jednostavni-keksici-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/jovanina-plazma-torta/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "22" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kajgana-u-serpi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "195" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-napraviti-domaci-jogurt/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pravilno-cuvati-zacine/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "73" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kako-pripremiti-brunch/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/karamelizirani-bademi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kava-koja-dolazi-iz-stomaka-zivotinja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolac-bez-secera-bez-brasna-bez-maslaca-bez/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kolaci-i-peciva-bez-brasna-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "35" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/korpe-za-ves-sa-stilom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/krompir-na-milion-nacina-rosti/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "201" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kruh-sa-medom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-drzaci-za-kuhare/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/kuhinjske-price-table-za-pisanje/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lisnato-tijesto-sa-feta-sirom-i-sezamom/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ljekovita-snaga-mirisnog-limunovca/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/lychee-voce-italijanski-cannelloni/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mercado-central-de-atarazanas-market-hrane-malaga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mini-baby-povrce/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "52" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/moderne-mame/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/moja-lista-5-kuhinjskih-zelja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "98" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/mracne-tajne-prehrambene-industrije-ljepilo-za-meso/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najbolji-kruh-na-svijetu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/najmanji-paradajz-na-svijetu-zdrava-lenja-pita/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/neobicne-zacinske-biljke-kari/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/novi-trend-bambus/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/page/33/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecena-muskatna-tikva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pecenje-u-vrhnju-za-kuhanje-na-danski-nacin/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-bez-brasna-kvasca-soli-i-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "67" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peciva-sa-semolina-brasnom-i-zobenim-pahuljicama-zamijesis-uvece-peces-ujutro/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "134" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/peugeot-kraljevski-mlin-za-biber/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pinjoli/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/pire-od-krompira-na-5-nacina/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-kalja/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "60" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/ponedjeljak-bez-mesa-restovani-krompir/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "13" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/posna-sarma/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prakticni-kuhinjski-detalji/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "5" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/prica-iz-jedne-laboratorije-karolinas-raw-lab/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/proteinska-skyr-peciva/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/provola/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/quinoa-ideja-za-fantastican-dorucak/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sarma-sa-orasima-2/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "200" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/serviraj-za-pobjedu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "145" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sezona-sparoga/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sicilijanski-suvenir-pigna/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sirove-punjene-paprike/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "65" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/sta-nas-moze-nauciti-hobotnica-i-zasto-bi-svi-trebali-pogledati-dokumentarni-film-my-octopus-teacher/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "53" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/trznica-na-campo-dei-fiori-trgu-u-rimu/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zapeceni-pire-krompir-pippe-middleton/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "34" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zasto-japanci-nose-maske-na-ustima/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "134" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-grickalice-suseni-dudovi/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "www.kuhinjskeprice.com" - }, - { - "value": "/zdrave-kuglice-bez-secera/" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "17" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_report_imported_sources.json b/fixture/ga4_report_imported_sources.json deleted file mode 100644 index 52fed7d13a5eef2c5bb34ebd70607e2e8e6b5198..0000000000000000000000000000000000000000 --- a/fixture/ga4_report_imported_sources.json +++ /dev/null @@ -1,8880 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - }, - { - "name": "sessionSource" - }, - { - "name": "sessionDefaultChannelGroup" - }, - { - "name": "sessionMedium" - }, - { - "name": "sessionCampaignName" - }, - { - "name": "sessionManualAdContent" - }, - { - "name": "sessionGoogleAdsKeyword" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Amsterdam" - }, - "metricHeaders": [ - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - }, - { - "name": "totalUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "sessions", - "type": "TYPE_INTEGER" - }, - { - "name": "bounces", - "type": "TYPE_INTEGER" - }, - { - "name": "userEngagementDuration", - "type": "TYPE_SECONDS" - } - ], - "rowCount": 210, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "125" - }, - { - "value": "102" - }, - { - "value": "106" - }, - { - "value": "36" - }, - { - "value": "4066" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "29" - }, - { - "value": "30" - }, - { - "value": "13" - }, - { - "value": "676" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240131" - }, - { - "value": "lm.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "111" - }, - { - "value": "80" - }, - { - "value": "80" - }, - { - "value": "27" - }, - { - "value": "2912" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "30" - }, - { - "value": "19" - }, - { - "value": "19" - }, - { - "value": "8" - }, - { - "value": "261" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "161" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "lm.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "48" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "pinterest.de" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "12" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "kuhinjica-mignone.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "104" - }, - { - "value": "75" - }, - { - "value": "82" - }, - { - "value": "39" - }, - { - "value": "2428" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "19" - }, - { - "value": "20" - }, - { - "value": "11" - }, - { - "value": "394" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "2" - }, - { - "value": "47" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "26" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "190" - }, - { - "value": "141" - }, - { - "value": "147" - }, - { - "value": "49" - }, - { - "value": "5776" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "38" - }, - { - "value": "25" - }, - { - "value": "25" - }, - { - "value": "15" - }, - { - "value": "459" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "18" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "559" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "59" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - }, - { - "value": "pinterest.com.au" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "137" - }, - { - "value": "115" - }, - { - "value": "118" - }, - { - "value": "43" - }, - { - "value": "4721" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "54" - }, - { - "value": "30" - }, - { - "value": "30" - }, - { - "value": "17" - }, - { - "value": "447" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "5" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "vikendkuvarica.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "40" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - }, - { - "value": "yahoo" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "133" - }, - { - "value": "100" - }, - { - "value": "110" - }, - { - "value": "40" - }, - { - "value": "4709" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "43" - }, - { - "value": "21" - }, - { - "value": "21" - }, - { - "value": "9" - }, - { - "value": "731" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "88" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "(not set)" - }, - { - "value": "Unassigned" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "abaiak.com" - }, - { - "value": "Referral" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "149" - }, - { - "value": "105" - }, - { - "value": "108" - }, - { - "value": "45" - }, - { - "value": "4206" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "62" - }, - { - "value": "33" - }, - { - "value": "34" - }, - { - "value": "20" - }, - { - "value": "654" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "380" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "pinterest.it" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "17" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - }, - { - "value": "parfe-dunja.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "174" - }, - { - "value": "112" - }, - { - "value": "122" - }, - { - "value": "53" - }, - { - "value": "3668" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "35" - }, - { - "value": "18" - }, - { - "value": "18" - }, - { - "value": "7" - }, - { - "value": "654" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "vikendkuvarica.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "114" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "15" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - }, - { - "value": "lm.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "215" - }, - { - "value": "135" - }, - { - "value": "139" - }, - { - "value": "51" - }, - { - "value": "4160" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "15" - }, - { - "value": "15" - }, - { - "value": "4" - }, - { - "value": "366" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "62" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "pinterest.se" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "147" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "pinterest.com.au" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "pinterest.de" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "links.google.wdsystem.cn" - }, - { - "value": "Referral" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - }, - { - "value": "nely-bluehortensia.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "44" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "173" - }, - { - "value": "122" - }, - { - "value": "126" - }, - { - "value": "46" - }, - { - "value": "4127" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "40" - }, - { - "value": "28" - }, - { - "value": "28" - }, - { - "value": "20" - }, - { - "value": "423" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "310" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "pinterest.de" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "links.google.wdsystem.cn" - }, - { - "value": "Referral" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - }, - { - "value": "pinterest.ca" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "330" - }, - { - "value": "203" - }, - { - "value": "214" - }, - { - "value": "82" - }, - { - "value": "8230" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "35" - }, - { - "value": "26" - }, - { - "value": "26" - }, - { - "value": "14" - }, - { - "value": "281" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "16" - }, - { - "value": "13" - }, - { - "value": "13" - }, - { - "value": "9" - }, - { - "value": "108" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "10" - }, - { - "value": "6" - }, - { - "value": "204" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - }, - { - "value": "nl.pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "292" - }, - { - "value": "176" - }, - { - "value": "183" - }, - { - "value": "79" - }, - { - "value": "5692" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "lm.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "44" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "571" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "33" - }, - { - "value": "25" - }, - { - "value": "27" - }, - { - "value": "17" - }, - { - "value": "490" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "3" - }, - { - "value": "68" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "pinterest.ca" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "50" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - }, - { - "value": "pinterest.de" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "2" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "(not set)" - }, - { - "value": "Unassigned" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5220" - }, - { - "value": "165" - }, - { - "value": "0" - }, - { - "value": "0" - }, - { - "value": "92166" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "249" - }, - { - "value": "174" - }, - { - "value": "182" - }, - { - "value": "82" - }, - { - "value": "4929" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "60" - }, - { - "value": "27" - }, - { - "value": "30" - }, - { - "value": "11" - }, - { - "value": "852" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "29" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "323" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "273" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "duckduckgo" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "hitree.shop" - }, - { - "value": "Referral" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - }, - { - "value": "pinterest.se" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "3" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "218" - }, - { - "value": "137" - }, - { - "value": "145" - }, - { - "value": "68" - }, - { - "value": "4590" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "48" - }, - { - "value": "30" - }, - { - "value": "30" - }, - { - "value": "13" - }, - { - "value": "756" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "160" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "41" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "lm.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - }, - { - "value": "(not set)" - }, - { - "value": "Unassigned" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "0" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "6" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "208" - }, - { - "value": "154" - }, - { - "value": "161" - }, - { - "value": "62" - }, - { - "value": "5575" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "47" - }, - { - "value": "35" - }, - { - "value": "39" - }, - { - "value": "25" - }, - { - "value": "876" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "227" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "92" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "l.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - }, - { - "value": "thursdaycooking.com.hr" - }, - { - "value": "Referral" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "238" - }, - { - "value": "174" - }, - { - "value": "177" - }, - { - "value": "61" - }, - { - "value": "8231" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "16" - }, - { - "value": "16" - }, - { - "value": "3" - }, - { - "value": "831" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "1" - }, - { - "value": "54" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - }, - { - "value": "246" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "pinterest.at" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "8" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - }, - { - "value": "mojaslatkakuhinja.wordpress.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "11" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "274" - }, - { - "value": "223" - }, - { - "value": "235" - }, - { - "value": "72" - }, - { - "value": "11002" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "31" - }, - { - "value": "26" - }, - { - "value": "28" - }, - { - "value": "12" - }, - { - "value": "1126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "237" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "236" - }, - { - "value": "190" - }, - { - "value": "202" - }, - { - "value": "63" - }, - { - "value": "7933" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "47" - }, - { - "value": "37" - }, - { - "value": "39" - }, - { - "value": "15" - }, - { - "value": "2445" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "6" - }, - { - "value": "6" - }, - { - "value": "1" - }, - { - "value": "545" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "5" - }, - { - "value": "70" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "baidu" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "duckduckgo" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - }, - { - "value": "pinterest.it" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "9" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "241" - }, - { - "value": "196" - }, - { - "value": "209" - }, - { - "value": "71" - }, - { - "value": "8947" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "26" - }, - { - "value": "26" - }, - { - "value": "15" - }, - { - "value": "1055" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "baidu" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "alohafind.com" - }, - { - "value": "Referral" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "30" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "16" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - }, - { - "value": "pinterest.de" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "212" - }, - { - "value": "170" - }, - { - "value": "179" - }, - { - "value": "54" - }, - { - "value": "8401" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "38" - }, - { - "value": "31" - }, - { - "value": "31" - }, - { - "value": "12" - }, - { - "value": "1634" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "6" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "pinterest.de" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "72" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - }, - { - "value": "duckduckgo" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "181" - }, - { - "value": "147" - }, - { - "value": "152" - }, - { - "value": "48" - }, - { - "value": "6321" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "25" - }, - { - "value": "28" - }, - { - "value": "10" - }, - { - "value": "1606" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "mojaslatkakuhinja.wordpress.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "71" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "baidu" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "7" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "pinterest.de" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "33" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - }, - { - "value": "thursdaycooking.com.hr" - }, - { - "value": "Referral" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "175" - }, - { - "value": "143" - }, - { - "value": "152" - }, - { - "value": "38" - }, - { - "value": "6286" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "41" - }, - { - "value": "32" - }, - { - "value": "35" - }, - { - "value": "16" - }, - { - "value": "1458" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "3" - }, - { - "value": "103" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "3" - }, - { - "value": "4" - }, - { - "value": "2" - }, - { - "value": "473" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "de.search.yahoo.com" - }, - { - "value": "Organic Search" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "663" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "gagasrce.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "24" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - }, - { - "value": "petalsearch.com" - }, - { - "value": "Referral" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "209" - }, - { - "value": "156" - }, - { - "value": "163" - }, - { - "value": "45" - }, - { - "value": "8820" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "41" - }, - { - "value": "33" - }, - { - "value": "36" - }, - { - "value": "14" - }, - { - "value": "1354" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "kadjakuvam.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "26" - }, - { - "value": "1" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "861" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "6" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "447" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "36" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "baidu" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "mojaslatkakuhinja.wordpress.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "42" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - }, - { - "value": "pinterest.ch" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "91" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "188" - }, - { - "value": "154" - }, - { - "value": "165" - }, - { - "value": "52" - }, - { - "value": "6359" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "32" - }, - { - "value": "26" - }, - { - "value": "28" - }, - { - "value": "11" - }, - { - "value": "1262" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "3" - }, - { - "value": "64" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "baidu" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "ecosia.org" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "3" - }, - { - "value": "2" - }, - { - "value": "97" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "kuhinjica-mignone.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "21" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "pinterest.ch" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "66" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - }, - { - "value": "tr.pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "14" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "220" - }, - { - "value": "164" - }, - { - "value": "175" - }, - { - "value": "58" - }, - { - "value": "8334" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "37" - }, - { - "value": "30" - }, - { - "value": "33" - }, - { - "value": "15" - }, - { - "value": "1327" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "55" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "7" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "271" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "lm.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - }, - { - "value": "pinterest.com.au" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "61" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "259" - }, - { - "value": "216" - }, - { - "value": "240" - }, - { - "value": "102" - }, - { - "value": "6671" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "31" - }, - { - "value": "32" - }, - { - "value": "12" - }, - { - "value": "1637" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "4" - }, - { - "value": "45" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "28" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "pinterest.es" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - }, - { - "value": "l.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "39" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "209" - }, - { - "value": "172" - }, - { - "value": "181" - }, - { - "value": "61" - }, - { - "value": "7231" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "40" - }, - { - "value": "36" - }, - { - "value": "36" - }, - { - "value": "13" - }, - { - "value": "1530" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "12" - }, - { - "value": "11" - }, - { - "value": "13" - }, - { - "value": "9" - }, - { - "value": "146" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "171" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "mojaslatkakuhinja.wordpress.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "49" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "pinterest.de" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "2" - }, - { - "value": "0" - }, - { - "value": "126" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - }, - { - "value": "nely-bluehortensia.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "58" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "221" - }, - { - "value": "174" - }, - { - "value": "184" - }, - { - "value": "54" - }, - { - "value": "9029" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "34" - }, - { - "value": "31" - }, - { - "value": "34" - }, - { - "value": "15" - }, - { - "value": "2370" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "10" - }, - { - "value": "10" - }, - { - "value": "7" - }, - { - "value": "556" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "baidu" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "3" - }, - { - "value": "0" - }, - { - "value": "96" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - }, - { - "value": "m.facebook.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "228" - }, - { - "value": "182" - }, - { - "value": "192" - }, - { - "value": "54" - }, - { - "value": "8590" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "39" - }, - { - "value": "37" - }, - { - "value": "39" - }, - { - "value": "20" - }, - { - "value": "1576" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "8" - }, - { - "value": "7" - }, - { - "value": "7" - }, - { - "value": "4" - }, - { - "value": "140" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "5" - }, - { - "value": "0" - }, - { - "value": "287" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "kadjakuvam.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "2" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "31" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - }, - { - "value": "kuhinjica-mignone.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "4" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "171" - }, - { - "value": "150" - }, - { - "value": "154" - }, - { - "value": "32" - }, - { - "value": "8448" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "44" - }, - { - "value": "36" - }, - { - "value": "40" - }, - { - "value": "18" - }, - { - "value": "1356" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "kuhinjica-mignone.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "553" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "mojaslatkakuhinja.wordpress.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "19" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "727" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "9" - }, - { - "value": "8" - }, - { - "value": "8" - }, - { - "value": "6" - }, - { - "value": "1" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "4" - }, - { - "value": "3" - }, - { - "value": "63" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "emea.search.yahoo.com" - }, - { - "value": "Organic Search" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "20" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "pinterest.de" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - }, - { - "value": "startraffic.online" - }, - { - "value": "Referral" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "google" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "159" - }, - { - "value": "129" - }, - { - "value": "134" - }, - { - "value": "42" - }, - { - "value": "6225" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "(direct)" - }, - { - "value": "Direct" - }, - { - "value": "(none)" - }, - { - "value": "(direct)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "50" - }, - { - "value": "47" - }, - { - "value": "48" - }, - { - "value": "18" - }, - { - "value": "1580" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "pinterest.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "11" - }, - { - "value": "9" - }, - { - "value": "236" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "baidu" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "bing" - }, - { - "value": "Organic Search" - }, - { - "value": "organic" - }, - { - "value": "(organic)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "10" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "mojaslatkakuhinja.wordpress.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - }, - { - "value": "29" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - }, - { - "value": "vrtaljica.blogspot.com" - }, - { - "value": "Organic Social" - }, - { - "value": "referral" - }, - { - "value": "(referral)" - }, - { - "value": "(not set)" - }, - { - "value": "(not set)" - } - ], - "metricValues": [ - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "1" - }, - { - "value": "0" - } - ] - } - ] - } - ] -} diff --git a/fixture/ga4_report_imported_visitors.json b/fixture/ga4_report_imported_visitors.json deleted file mode 100644 index cc53d388b32066aa485d6742c20a5c15caa745cb..0000000000000000000000000000000000000000 --- a/fixture/ga4_report_imported_visitors.json +++ /dev/null @@ -1,786 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Amsterdam" - }, - "metricHeaders": [ - { - "name": "totalUsers", - "type": "TYPE_INTEGER" - }, - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - }, - { - "name": "bounces", - "type": "TYPE_INTEGER" - }, - { - "name": "sessions", - "type": "TYPE_INTEGER" - }, - { - "name": "userEngagementDuration", - "type": "TYPE_SECONDS" - } - ], - "rowCount": 31, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240131" - } - ], - "metricValues": [ - { - "value": "141" - }, - { - "value": "195" - }, - { - "value": "56" - }, - { - "value": "146" - }, - { - "value": "4815" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240130" - } - ], - "metricValues": [ - { - "value": "115" - }, - { - "value": "171" - }, - { - "value": "42" - }, - { - "value": "115" - }, - { - "value": "3481" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240129" - } - ], - "metricValues": [ - { - "value": "105" - }, - { - "value": "153" - }, - { - "value": "54" - }, - { - "value": "113" - }, - { - "value": "2895" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240128" - } - ], - "metricValues": [ - { - "value": "184" - }, - { - "value": "259" - }, - { - "value": "74" - }, - { - "value": "190" - }, - { - "value": "6861" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240127" - } - ], - "metricValues": [ - { - "value": "155" - }, - { - "value": "202" - }, - { - "value": "67" - }, - { - "value": "158" - }, - { - "value": "5259" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240126" - } - ], - "metricValues": [ - { - "value": "132" - }, - { - "value": "189" - }, - { - "value": "57" - }, - { - "value": "142" - }, - { - "value": "5545" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240125" - } - ], - "metricValues": [ - { - "value": "151" - }, - { - "value": "229" - }, - { - "value": "71" - }, - { - "value": "155" - }, - { - "value": "5365" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240124" - } - ], - "metricValues": [ - { - "value": "137" - }, - { - "value": "221" - }, - { - "value": "64" - }, - { - "value": "148" - }, - { - "value": "4454" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240123" - } - ], - "metricValues": [ - { - "value": "166" - }, - { - "value": "267" - }, - { - "value": "61" - }, - { - "value": "171" - }, - { - "value": "4850" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240122" - } - ], - "metricValues": [ - { - "value": "161" - }, - { - "value": "233" - }, - { - "value": "73" - }, - { - "value": "165" - }, - { - "value": "4871" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240121" - } - ], - "metricValues": [ - { - "value": "254" - }, - { - "value": "397" - }, - { - "value": "114" - }, - { - "value": "267" - }, - { - "value": "8845" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240120" - } - ], - "metricValues": [ - { - "value": "214" - }, - { - "value": "383" - }, - { - "value": "100" - }, - { - "value": "223" - }, - { - "value": "6914" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240119" - } - ], - "metricValues": [ - { - "value": "381" - }, - { - "value": "5571" - }, - { - "value": "100" - }, - { - "value": "228" - }, - { - "value": "98549" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240118" - } - ], - "metricValues": [ - { - "value": "177" - }, - { - "value": "278" - }, - { - "value": "86" - }, - { - "value": "186" - }, - { - "value": "5553" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240117" - } - ], - "metricValues": [ - { - "value": "204" - }, - { - "value": "271" - }, - { - "value": "97" - }, - { - "value": "216" - }, - { - "value": "6777" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240116" - } - ], - "metricValues": [ - { - "value": "200" - }, - { - "value": "280" - }, - { - "value": "65" - }, - { - "value": "203" - }, - { - "value": "9381" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240115" - } - ], - "metricValues": [ - { - "value": "255" - }, - { - "value": "311" - }, - { - "value": "86" - }, - { - "value": "269" - }, - { - "value": "12365" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240114" - } - ], - "metricValues": [ - { - "value": "243" - }, - { - "value": "302" - }, - { - "value": "86" - }, - { - "value": "257" - }, - { - "value": "11073" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240113" - } - ], - "metricValues": [ - { - "value": "231" - }, - { - "value": "276" - }, - { - "value": "92" - }, - { - "value": "244" - }, - { - "value": "10084" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240112" - } - ], - "metricValues": [ - { - "value": "215" - }, - { - "value": "265" - }, - { - "value": "75" - }, - { - "value": "225" - }, - { - "value": "10195" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240111" - } - ], - "metricValues": [ - { - "value": "183" - }, - { - "value": "235" - }, - { - "value": "64" - }, - { - "value": "191" - }, - { - "value": "8200" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240110" - } - ], - "metricValues": [ - { - "value": "190" - }, - { - "value": "244" - }, - { - "value": "61" - }, - { - "value": "203" - }, - { - "value": "9056" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240109" - } - ], - "metricValues": [ - { - "value": "201" - }, - { - "value": "290" - }, - { - "value": "63" - }, - { - "value": "213" - }, - { - "value": "11651" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240108" - } - ], - "metricValues": [ - { - "value": "195" - }, - { - "value": "235" - }, - { - "value": "71" - }, - { - "value": "209" - }, - { - "value": "7946" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240107" - } - ], - "metricValues": [ - { - "value": "205" - }, - { - "value": "274" - }, - { - "value": "80" - }, - { - "value": "218" - }, - { - "value": "10048" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240106" - } - ], - "metricValues": [ - { - "value": "256" - }, - { - "value": "303" - }, - { - "value": "119" - }, - { - "value": "281" - }, - { - "value": "8440" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240105" - } - ], - "metricValues": [ - { - "value": "226" - }, - { - "value": "270" - }, - { - "value": "83" - }, - { - "value": "237" - }, - { - "value": "9311" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240104" - } - ], - "metricValues": [ - { - "value": "223" - }, - { - "value": "274" - }, - { - "value": "81" - }, - { - "value": "236" - }, - { - "value": "12051" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240103" - } - ], - "metricValues": [ - { - "value": "233" - }, - { - "value": "283" - }, - { - "value": "79" - }, - { - "value": "245" - }, - { - "value": "10628" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240102" - } - ], - "metricValues": [ - { - "value": "203" - }, - { - "value": "269" - }, - { - "value": "60" - }, - { - "value": "210" - }, - { - "value": "11168" - } - ] - }, - { - "dimensionValues": [ - { - "value": "20240101" - } - ], - "metricValues": [ - { - "value": "191" - }, - { - "value": "224" - }, - { - "value": "71" - }, - { - "value": "197" - }, - { - "value": "8080" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga4_start_date.json b/fixture/ga4_start_date.json deleted file mode 100644 index 6c1d410d232a5a5f17d56ad49b74e24fe3076283..0000000000000000000000000000000000000000 --- a/fixture/ga4_start_date.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "kind": "analyticsData#batchRunReports", - "reports": [ - { - "dimensionHeaders": [ - { - "name": "date" - } - ], - "kind": "analyticsData#runReport", - "metadata": { - "currencyCode": "USD", - "timeZone": "Europe/Warsaw" - }, - "metricHeaders": [ - { - "name": "screenPageViews", - "type": "TYPE_INTEGER" - } - ], - "rowCount": 3, - "rows": [ - { - "dimensionValues": [ - { - "value": "20240222" - } - ], - "metricValues": [ - { - "value": "13" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/fixture/ga_refresh_token.json b/fixture/ga_refresh_token.json deleted file mode 100644 index b5639a0b2b149e5363d204161db0935cfa77d94f..0000000000000000000000000000000000000000 --- a/fixture/ga_refresh_token.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "access_token": "1/fFAGRNJru1FTz70BzhT3Zg", - "expires_in": 3920, - "token_type": "Bearer", - "scope": "email https://www.googleapis.com/auth/analytics.readonly", - "refresh_token": "1//xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI" -} diff --git a/fixture/http_mocks/google_auth#invalid_grant.json b/fixture/http_mocks/google_auth#invalid_grant.json deleted file mode 100644 index d49cf2596d1a6c088c10cda2d4d030bde3894fa6..0000000000000000000000000000000000000000 --- a/fixture/http_mocks/google_auth#invalid_grant.json +++ /dev/null @@ -1,18 +0,0 @@ -[ - { - "status": 400, - "url": "https://www.googleapis.com/oauth2/v4/token", - "method": "post", - "request_body": { - "client_id": "fake_client_id", - "client_secret": "fake_client_secret", - "grant_type": "refresh_token", - "redirect_uri": "http://localhost:8000/auth/google/callback", - "refresh_token": "*****" - }, - "response_body": { - "error": "invalid_grant", - "error_description": "Bad Request" - } - } -] \ No newline at end of file diff --git a/fixture/http_mocks/google_search_console.json b/fixture/http_mocks/google_search_console.json deleted file mode 100644 index 994873088f170bf94f308f2d2e8e0bc5e1d51962..0000000000000000000000000000000000000000 --- a/fixture/http_mocks/google_search_console.json +++ /dev/null @@ -1,36 +0,0 @@ -[ - { - "status": 200, - "url": "https://www.googleapis.com/webmasters/v3/sites/sc-domain%3Adummy.test/searchAnalytics/query", - "method": "post", - "request_body": { - "dimensionFilterGroups": [], - "dimensions": [ - "query" - ], - "endDate": "2022-01-05", - "rowLimit": 5, - "startRow": 0, - "startDate": "2022-01-01" - }, - "response_body": { - "responseAggregationType": "auto", - "rows": [ - { - "clicks": 25, - "ctr": 0.3679, - "impressions": 50, - "keys": ["keyword1"], - "position": 2.2312312 - }, - { - "clicks": 15, - "ctr": 0.5, - "impressions": 25, - "keys": ["keyword3"], - "position": 4.0 - } - ] - } - } -]