From 082394c05060ac434ff91f55f9f1b1c061f97fa7 Mon Sep 17 00:00:00 2001 From: Matt Leon <108271225+wydengyre@users.noreply.github.com> Date: Tue, 16 Jan 2024 10:33:50 +0700 Subject: [PATCH] first --- .editorconfig | 9 + .github/dependabot.yml | 10 + .github/workflows/ci.yml | 34 + .gitignore | 5 + .node-version | 1 + biome.json | 16 + cf/.dev.vars | 2 + cf/declarations.d.ts | 6 + cf/english.html | 12 + cf/italian.html | 12 + cf/tsconfig.json | 11 + cf/worker.test.ts | 152 + cf/worker.ts | 58 + cf/wrangler.toml | 8 + lib/feed.test.ts | 91 + lib/feed.ts | 130 + lib/podcast-feed-parser.d.ts | 1 + lib/tsconfig.json | 10 + package-lock.json | 6989 +++++++++++++++++++++++++ package.json | 42 + testdata/lastoriaingiallo.json | 1 + testdata/lastoriaingiallo.parsed.json | 432 ++ 22 files changed, 8032 insertions(+) create mode 100644 .editorconfig create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .gitignore create mode 100644 .node-version create mode 100644 biome.json create mode 100644 cf/.dev.vars create mode 100644 cf/declarations.d.ts create mode 100644 cf/english.html create mode 100644 cf/italian.html create mode 100644 cf/tsconfig.json create mode 100644 cf/worker.test.ts create mode 100644 cf/worker.ts create mode 100644 cf/wrangler.toml create mode 100644 lib/feed.test.ts create mode 100644 lib/feed.ts create mode 100644 lib/podcast-feed-parser.d.ts create mode 100644 lib/tsconfig.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 testdata/lastoriaingiallo.json create mode 100644 testdata/lastoriaingiallo.parsed.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..409f685 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +end_of_line = lf +trim_trailing_whitespace = true +insert_final_newline = true +charset = utf-8 +indent_style = tab +indent_size = 2 \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..52c4aa5 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,10 @@ +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: daily + - package-ecosystem: npm + directory: web + schedule: + interval: daily diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..f1eaf40 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: Continuous Integration + +on: + workflow_dispatch: + push: + branches: + - master + tags: + - '*' + pull_request: + types: + - opened + - reopened + - synchronize + - ready_for_review + +concurrency: + group: '${{ github.workflow }}-${{ !contains(github.event.pull_request.labels.*.name, ''ci-test-flaky'') && github.head_ref || github.run_id }}' + cancel-in-progress: true + +jobs: + ci: + timeout-minutes: 2 + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1 + with: + node-version-file: '.node-version' + cache: 'npm' + - name: Install npm dependencies + run: npm ci + - name: Build and test + run: npm run ci diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e095b6d --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.idea +*.iml +node_modules +dist +cf/.wrangler diff --git a/.node-version b/.node-version new file mode 100644 index 0000000..986c3cc --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +21.6.0 diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..dfa2d1a --- /dev/null +++ b/biome.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.5.1/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "files": { + "include": ["cf/*.ts", "lib/*.ts", "testdata/*.parsed.json"], + "ignore": ["cf/.wrangler"] + } +} diff --git a/cf/.dev.vars b/cf/.dev.vars new file mode 100644 index 0000000..1870084 --- /dev/null +++ b/cf/.dev.vars @@ -0,0 +1,2 @@ +BASE_URL=https://test.dev/ +RAI_BASE_URL=http://localhost:8091/ diff --git a/cf/declarations.d.ts b/cf/declarations.d.ts new file mode 100644 index 0000000..efb8243 --- /dev/null +++ b/cf/declarations.d.ts @@ -0,0 +1,6 @@ +declare module "*.html" { + const content: string; + export default content; +} + +declare module "@podverse/podcast-feed-parser"; diff --git a/cf/english.html b/cf/english.html new file mode 100644 index 0000000..b153726 --- /dev/null +++ b/cf/english.html @@ -0,0 +1,12 @@ + + + + + + raiplayrss + + +

raiplayrss

+

having some fun

+ + diff --git a/cf/italian.html b/cf/italian.html new file mode 100644 index 0000000..0c7b5f0 --- /dev/null +++ b/cf/italian.html @@ -0,0 +1,12 @@ + + + + + + raiplayrss + + +

raiplayrss

+

meow

+ + diff --git a/cf/tsconfig.json b/cf/tsconfig.json new file mode 100644 index 0000000..2bb8c01 --- /dev/null +++ b/cf/tsconfig.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@tsconfig/node21/tsconfig.json", + "compilerOptions": { + "module": "nodenext", + "noEmit": true, + "resolveJsonModule": true, + "types": ["@cloudflare/workers-types"] + }, + "include": ["*.ts"] +} diff --git a/cf/worker.test.ts b/cf/worker.test.ts new file mode 100644 index 0000000..a7ccc8b --- /dev/null +++ b/cf/worker.test.ts @@ -0,0 +1,152 @@ +import { Server, createServer } from "http"; +import { strict as assert } from "node:assert"; +import { readFile } from "node:fs/promises"; +import path from "node:path"; +import test, { after, before } from "node:test"; +import { fileURLToPath } from "node:url"; +import { getPodcastFromFeed } from "@podverse/podcast-feed-parser"; +import { createServerAdapter } from "@whatwg-node/server"; +import { Router, RouterType, error, json } from "itty-router"; +import { UnstableDevWorker, unstable_dev } from "wrangler"; +import feedJson from "../testdata/lastoriaingiallo.json" with { type: "json" }; +import expectedJson from "../testdata/lastoriaingiallo.parsed.json" with { + type: "json", +}; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const englishHtmlPath = path.join(__dirname, "english.html"); +const italianHtmlPath = path.join(__dirname, "italian.html"); + +let worker: UnstableDevWorker; + +before(async () => { + const experimental = { disableExperimentalWarning: true }; + worker = await unstable_dev("cf/worker.ts", { experimental }); +}); + +after(async () => { + await worker.stop(); +}); + +test("english index", async () => { + const englishIndex = await readFile(englishHtmlPath, "utf8"); + const resp = await worker.fetch(); + const text = await resp.text(); + + assert(resp.ok); + assert.strictEqual(resp.status, 200); + assert.strictEqual(resp.statusText, "OK"); + assert.strictEqual(resp.headers.get("Content-Language"), "en"); + assert.strictEqual(text, englishIndex); +}); + +test("italian index", async () => { + const italianIndex = await readFile(italianHtmlPath, "utf8"); + const resp = await worker.fetch("", { headers: { "Accept-Language": "it" } }); + const text = await resp.text(); + + assert(resp.ok); + assert.strictEqual(resp.status, 200); + assert.strictEqual(resp.statusText, "OK"); + assert.strictEqual(resp.headers.get("Content-Language"), "it"); + assert.strictEqual(text, italianIndex); +}); + +test("rss feed success", async (t) => { + const router = Router(); + router.get("/programmi/lastoriaingiallo.json", () => { + return json(feedJson); + }); + await using _server = await MockRaiServer.create(router); + + const resp = await worker.fetch("/programmi/lastoriaingiallo.xml"); + assert(resp.ok); + assert.strictEqual(resp.status, 200); + + const feed = await resp.text(); + const parsedFeed = JSON.parse(JSON.stringify(getPodcastFromFeed(feed))); + assert.deepStrictEqual( + stripLastBuildDate(parsedFeed), + stripLastBuildDate(expectedJson), + ); +}); + +test("rss feed failure: 404 from RAI server", async () => { + const resp = await worker.fetch("/theserverisntevenrunning.xml"); + assert(!resp.ok); + assert.strictEqual(resp.status, 404); +}); + +test("rss feed failure: 500 from RAI server", async () => { + const router = Router(); + router.get("/programmi/500.json", () => { + return error(500, "RAI server exploded"); + }); + await using _ = await MockRaiServer.create(router); + + const resp = await worker.fetch("/programmi/500.xml"); + assert(!resp.ok); + assert.strictEqual(resp.status, 500); +}); + +test("rss feed failure: failure to process RAI json feed", async () => { + const router = Router(); + router.get("/programmi/lastoriaingiallo.json", () => { + return json({ foo: "bar" }); + }); + await using _server = await MockRaiServer.create(router); + + const resp = await worker.fetch("/programmi/lastoriaingiallo.xml"); + assert(!resp.ok); + assert.strictEqual(resp.status, 500); + assert.strictEqual(resp.statusText, "Internal Server Error"); + const text = await resp.text(); + assert.strictEqual( + text, + '{"status":500,"error":"error converting upstream json feed from RAI"}', + ); +}); + +test("404", async () => { + const resp = await worker.fetch("foo"); + + assert(!resp.ok); + assert.strictEqual(resp.status, 404); + assert.strictEqual(resp.statusText, "Not Found"); + const text = await resp.text(); + assert.strictEqual(text, "Not found."); +}); + +class MockRaiServer { + #server: Server; + + private constructor(server: Server) { + this.#server = server; + } + + static async create(router: RouterType): Promise { + const { RAI_BASE_URL } = process.env; + if (RAI_BASE_URL === undefined) { + throw new Error("RAI_BASE_URL is undefined"); + } + const url = new URL(RAI_BASE_URL); + const listenPort = parseInt(url.port); + + const ittyServer = createServerAdapter(router); + const httpServer = createServer(ittyServer); + await new Promise((resolve) => + httpServer.listen(listenPort, url.hostname, resolve), + ); + return new MockRaiServer(httpServer); + } + + [Symbol.asyncDispose](): Promise { + return this.#server[Symbol.asyncDispose](); + } +} + +function stripLastBuildDate({ meta, ...rest }: typeof expectedJson): object { + const { lastBuildDate, ...metaRest } = meta; + return { meta: metaRest, ...rest }; +} diff --git a/cf/worker.ts b/cf/worker.ts new file mode 100644 index 0000000..45ab8cf --- /dev/null +++ b/cf/worker.ts @@ -0,0 +1,58 @@ +import { + Router, + StatusError, + createResponse, + error, + html, + text, +} from "itty-router"; +import { convertFeed } from "../lib/feed.js"; +import englishIndex from "./english.html"; +import italianIndex from "./italian.html"; + +type Env = { + BASE_URL: string; + RAI_BASE_URL: string; +}; + +const router = Router(); + +// TODO: feed HTML with subscription links +router.get("/", index); +router.get("/programmi/:feed.xml", feed); +router.all("*", () => text("Not found.", { status: 404 })); + +function index(request: Request): Response { + const wantsItalian = request.headers.get("accept-language")?.startsWith("it"); + const outHtml = wantsItalian ? italianIndex : englishIndex; + const lang = wantsItalian ? "it" : "en"; + return html(outHtml, { headers: { "Content-Language": lang } }); +} + +async function feed(request: Request, env: Env): Promise { + const baseUrl = new URL(env.BASE_URL); + const raiBaseUrl = new URL(env.RAI_BASE_URL); + const conf = { baseUrl, raiBaseUrl }; + + const requestUrl = new URL(request.url); + const xmlPath = requestUrl.pathname; + const jsonPath = xmlPath.replace(/\.xml$/, ".json"); + + let feedXml: string; + try { + feedXml = await convertFeed(conf, jsonPath); + } catch (e) { + console.error(`error converting feed ${jsonPath}: ${e}`); + return error(500, "error converting upstream json feed from RAI"); + } + const rss = createResponse("application/rss+xml"); + return rss(feedXml); +} + +export default (>{ + fetch: (request, env, ctx) => + router.handle(request, env, ctx).catch((err) => { + console.error(err); + return error(500, "failed to process request"); + }), +}); diff --git a/cf/wrangler.toml b/cf/wrangler.toml new file mode 100644 index 0000000..3189d4d --- /dev/null +++ b/cf/wrangler.toml @@ -0,0 +1,8 @@ +name = "raiplayrss" +main = "./worker.ts" +compatibility_date = "2024-01-16" +node_compat = true + +[env.prod.vars] +BASE_URL = "https://raiplayrss.workers.dev/" +RAI_BASE_URL = "https://www.raiplaysound.it/" diff --git a/lib/feed.test.ts b/lib/feed.test.ts new file mode 100644 index 0000000..282794d --- /dev/null +++ b/lib/feed.test.ts @@ -0,0 +1,91 @@ +import { strict as assert } from "assert"; +import test from "node:test"; +import { getPodcastFromFeed } from "@podverse/podcast-feed-parser"; +import { error, json } from "itty-router"; +import feedJson from "../testdata/lastoriaingiallo.json" with { type: "json" }; +import expectedJson from "../testdata/lastoriaingiallo.parsed.json" with { + type: "json", +}; +import { + Convertor, + ConvertorConf, + FeedConf, + Fetcher, + FetcherConf, + convertFeed, +} from "./feed.js"; + +const baseUrl = new URL("https://test.dev/"); +const raiBaseUrl = baseUrl; +const fetchFn: typeof fetch = async (input) => { + assert.strictEqual(input, "https://test.dev/programmi/foo.json"); + return json(feedJson); +}; + +test("convertFeed", async () => { + const conf: FeedConf = { raiBaseUrl, baseUrl, fetch: fetchFn }; + const feed = await convertFeed(conf, "programmi/foo.json"); + const parsed = JSON.parse(JSON.stringify(getPodcastFromFeed(feed))); + assert.deepStrictEqual( + stripLastBuildDate(parsed), + stripLastBuildDate(expectedJson), + ); +}); + +test("convertFeed 404", async () => { + const fetchFn = async () => error(404, "Not found"); + const conf: FeedConf = { raiBaseUrl, baseUrl, fetch: fetchFn }; + const expectedErr = new Error( + "Failed to fetch https://test.dev/programmi/foo.json: 404", + ); + await assert.rejects(convertFeed(conf, "programmi/foo.json"), expectedErr); +}); + +test("convertFeed error on non-compliant JSON", async () => { + const fetchFn = async () => json({ foo: "bar" }); + const conf: FeedConf = { raiBaseUrl, baseUrl, fetch: fetchFn }; + const expectedErr = /^Error: failed to parse feed JSON/; + await assert.rejects(convertFeed(conf, "programmi/foo.json"), expectedErr); +}); + +test("Fetcher", async () => { + const conf: FetcherConf = { baseUrl, fetch: fetchFn }; + const f = new Fetcher(conf); + const j = await f.fetch("programmi/foo.json"); + assert.deepStrictEqual(j, feedJson); +}); + +test("Fetcher 404", async () => { + const fetchFn = async () => error(404, "Not found"); + const conf: FetcherConf = { baseUrl, fetch: fetchFn }; + const f = new Fetcher(conf); + const expectedErr = new Error( + "Failed to fetch https://test.dev/programmi/foo.json: 404", + ); + await assert.rejects(f.fetch("programmi/foo.json"), expectedErr); +}); + +test("Convertor", () => { + const conf: ConvertorConf = { baseUrl }; + const c = new Convertor(conf); + const feed = c.convert(feedJson); + const parsed = JSON.parse(JSON.stringify(getPodcastFromFeed(feed))); + assert.deepStrictEqual( + stripLastBuildDate(parsed), + stripLastBuildDate(expectedJson), + ); +}); + +test("Converter error on non-compliant JSON", () => { + const conf: ConvertorConf = { baseUrl }; + const c = new Convertor(conf); + const feed = c.convert(feedJson); + assert.throws(() => { + c.convert({ foo: "bar" }); + }, /^Error: failed to parse feed JSON: /); +}); + +function stripLastBuildDate({ meta, ...rest }: typeof expectedJson): object { + const { lastBuildDate, ...metaRest } = meta; + return { meta: metaRest, ...rest }; +} diff --git a/lib/feed.ts b/lib/feed.ts new file mode 100644 index 0000000..61355af --- /dev/null +++ b/lib/feed.ts @@ -0,0 +1,130 @@ +import { DateTime } from "luxon"; +import { FeedOptions, ItemOptions, Podcast } from "podcast"; +import { z } from "zod"; + +const cardSchema = z.object({ + episode_title: z.string(), + description: z.string(), + image: z.string(), + create_date: z.string(), + create_time: z.string(), + downloadable_audio: z.object({ + url: z.string().url(), + }), +}); +type Card = z.infer; + +const schema = z.object({ + title: z.string(), + podcast_info: z.object({ + description: z.string(), + image: z.string(), + }), + block: z.object({ + cards: z.array(cardSchema), + }), +}); + +export type FeedConf = { + raiBaseUrl: URL; + baseUrl: URL; + fetch?: typeof fetch; +}; +export async function convertFeed( + c: FeedConf, + relUrl: string, +): Promise { + const fetcher = new Fetcher({ baseUrl: c.raiBaseUrl, fetch: c.fetch }); + const convertor = new Convertor({ baseUrl: c.baseUrl }); + const feedJson = await fetcher.fetch(relUrl); + return convertor.convert(feedJson); +} + +export type FetcherConf = { + baseUrl: URL; + fetch?: typeof fetch; +}; + +export class Fetcher { + #conf: FetcherConf; + + constructor(conf: FetcherConf) { + this.#conf = conf; + } + + async fetch(relUrl: string): Promise { + const fetchFn = this.#conf.fetch ?? fetch; + const url = new URL(relUrl, this.#conf.baseUrl).toString(); + const res = await fetchFn(url); + if (!res.ok) { + throw new Error( + `Failed to fetch ${url}: ${res.status} ${res.statusText}`.trim(), + ); + } + return res.json(); + } +} + +export type ConvertorConf = { + baseUrl: URL; +}; + +export class Convertor { + #conf: ConvertorConf; + + constructor(conf: ConvertorConf) { + this.#conf = conf; + } + + // TODO: feedUrl, siteUrl + convert(json: unknown): string { + const parseResult = schema.safeParse(json); + if (!parseResult.success) { + throw new Error(`failed to parse feed JSON: ${parseResult.error}`); + } + const feed = parseResult.data; + + // TODO: categories + + const imageUrl = new URL( + feed.podcast_info.image, + this.#conf.baseUrl, + ).toString(); + + const options: FeedOptions = { + // feedUrl: TODO + // siteUrl: TODO + imageUrl, + title: feed.title, + description: feed.podcast_info.description, + }; + + const items: ItemOptions[] = feed.block.cards.map((card: Card) => + this.convertCard(card), + ); + return new Podcast(options, items).buildXml(); + } + + convertCard(card: Card): ItemOptions { + const imageUrl = new URL(card.image, this.#conf.baseUrl).toString(); + const date = parseDate(card); + return { + title: card.episode_title, + description: card.description, + date, + imageUrl, + enclosure: { + url: card.downloadable_audio.url, + }, + }; + } +} + +function parseDate({ create_date, create_time }: Card): Date { + // Concatenate date and time + const createDateReversed = create_date.split("-").reverse().join("-"); + const dateTimeStr = `${createDateReversed}T${create_time}`; + + // Parse the date and time in the Italy time zone + return DateTime.fromISO(dateTimeStr, { zone: "Europe/Rome" }).toJSDate(); +} diff --git a/lib/podcast-feed-parser.d.ts b/lib/podcast-feed-parser.d.ts new file mode 100644 index 0000000..0b0ceff --- /dev/null +++ b/lib/podcast-feed-parser.d.ts @@ -0,0 +1 @@ +declare module "@podverse/podcast-feed-parser"; diff --git a/lib/tsconfig.json b/lib/tsconfig.json new file mode 100644 index 0000000..330db81 --- /dev/null +++ b/lib/tsconfig.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "@tsconfig/node21/tsconfig.json", + "compilerOptions": { + "module": "nodenext", + "resolveJsonModule": true, + "noEmit": true + }, + "include": ["*.ts"] +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..edc2244 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6989 @@ +{ + "name": "raiplayrss", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "raiplayrss", + "version": "0.0.0", + "license": "ISC", + "dependencies": { + "itty-router": "^4.0.27", + "luxon": "^3.4.4", + "podcast": "^2.0.1", + "zod": "^3.22.4" + }, + "devDependencies": { + "@biomejs/biome": "1.5.2", + "@cloudflare/workers-types": "^4.20231218.0", + "@podverse/podcast-feed-parser": "^1.1.1", + "@tsconfig/node21": "^21.0.1", + "@types/luxon": "^3.4.1", + "@whatwg-node/server": "^0.9.23", + "tsx": "^4.7.0", + "typescript": "^5.3.3", + "wrangler": "^3.22.5" + } + }, + "node_modules/@biomejs/biome": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-1.5.2.tgz", + "integrity": "sha512-LhycxGQBQLmfv6M3e4tMfn/XKcUWyduDYOlCEBrHXJ2mMth2qzYt1JWypkWp+XmU/7Hl2dKvrP4mZ5W44+nWZw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "biome": "bin/biome" + }, + "engines": { + "node": ">=14.*" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/biome" + }, + "optionalDependencies": { + "@biomejs/cli-darwin-arm64": "1.5.2", + "@biomejs/cli-darwin-x64": "1.5.2", + "@biomejs/cli-linux-arm64": "1.5.2", + "@biomejs/cli-linux-arm64-musl": "1.5.2", + "@biomejs/cli-linux-x64": "1.5.2", + "@biomejs/cli-linux-x64-musl": "1.5.2", + "@biomejs/cli-win32-arm64": "1.5.2", + "@biomejs/cli-win32-x64": "1.5.2" + } + }, + "node_modules/@biomejs/cli-darwin-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-1.5.2.tgz", + "integrity": "sha512-3JVl08aHKsPyf0XL9SEj1lssIMmzOMAn2t1zwZKBiy/mcZdb0vuyMSTM5haMQ/90wEmrkYN7zux777PHEGrGiw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-darwin-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-1.5.2.tgz", + "integrity": "sha512-QAPW9rZb/AgucUx+ogMg+9eJNipQDqvabktC5Tx4Aqb/mFzS6eDqNP7O0SbGz3DtC5Y2LATEj6o6zKIQ4ZT+3w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-linux-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-1.5.2.tgz", + "integrity": "sha512-fVLrUgIlo05rO4cNu+Py5EwwmXnXhWH+8KrNlWkr2weMYjq85SihUsuWWKpmqU+bUVR+m5gwfcIXZVWYVCJMHw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-linux-arm64-musl": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.5.2.tgz", + "integrity": "sha512-Z29SjaOyO4QfajplNXSjLx17S79oPN42D094zjE24z7C7p3NxvLhKLygtSP9emgaXkcoESe2chOzF4IrGy/rlg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-linux-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-1.5.2.tgz", + "integrity": "sha512-ixqJtUHtF0ho1+1DTZQLAEwHGSqvmvHhAAFXZQoaSdABn+IcITYExlFVA3bGvASy/xtPjRhTx42hVwPtLwMHwg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-linux-x64-musl": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-1.5.2.tgz", + "integrity": "sha512-ZolquPEjWYUmGeERS8svHOOT7OXEeoriPnV8qptgWJmYF9EO9HUGRn1UtCvdVziDYK+u1A7PxjOdkY1B00ty5A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-win32-arm64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-1.5.2.tgz", + "integrity": "sha512-DN4cXSAoFTdjOoh7f+JITj1uQgQSXt+1pVea9bFrpbgip+ZwkONqQq+jUcmFMMehbp9LuiVtNXFz/ReHn6FY7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@biomejs/cli-win32-x64": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-1.5.2.tgz", + "integrity": "sha512-YvWWXZmk936FdrXqc2jcP6rfsXsNBIs9MKBQQoVXIihwNNRiAaBD9Iwa/ouU1b7Zxq2zETgeuRewVJickFuVOw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.*" + } + }, + "node_modules/@cloudflare/kv-asset-handler": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.2.0.tgz", + "integrity": "sha512-MVbXLbTcAotOPUj0pAMhVtJ+3/kFkwJqc5qNOleOZTv6QkZZABDMS21dSrSlVswEHwrpWC03e4fWytjqKvuE2A==", + "dev": true, + "dependencies": { + "mime": "^3.0.0" + } + }, + "node_modules/@cloudflare/workerd-darwin-64": { + "version": "1.20231218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20231218.0.tgz", + "integrity": "sha512-547gOmTIVmRdDy7HNAGJUPELa+fSDm2Y0OCxqAtQOz0GLTDu1vX61xYmsb2rn91+v3xW6eMttEIpbYokKjtfJA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-darwin-arm64": { + "version": "1.20231218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20231218.0.tgz", + "integrity": "sha512-b39qrU1bKolCfmKFDAnX4vXcqzISkEUVE/V8sMBsFzxrIpNAbcUHBZAQPYmS/OHIGB94KjOVokvDi7J6UNurPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-linux-64": { + "version": "1.20231218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20231218.0.tgz", + "integrity": "sha512-dMUF1wA+0mybm6hHNOCgY/WMNMwomPPs4I7vvYCgwHSkch0Q2Wb7TnxQZSt8d1PK/myibaBwadrlIxpjxmpz3w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-linux-arm64": { + "version": "1.20231218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20231218.0.tgz", + "integrity": "sha512-2s5uc8IHt0QmWyKxAr1Fy+4b8Xy0b/oUtlPnm5MrKi2gDRlZzR7JvxENPJCpCnYENydS8lzvkMiAFECPBccmyQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workerd-windows-64": { + "version": "1.20231218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20231218.0.tgz", + "integrity": "sha512-oN5hz6TXUDB5YKUN5N3QWAv6cYz9JjTZ9g16HVyoegVFEL6/zXU3tV19MBX2IvlE11ab/mRogEv9KXVIrHfKmA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=16" + } + }, + "node_modules/@cloudflare/workers-types": { + "version": "4.20231218.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-4.20231218.0.tgz", + "integrity": "sha512-Vs1FKjfUjXYGbCsXzkl+ITp0Iyb6QiW6+vTERTNThC+v96T0IvPVAioH4tT20rXwoxAfxh380mAaxYtTrJUNVg==", + "dev": true + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild-plugins/node-globals-polyfill": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-globals-polyfill/-/node-globals-polyfill-0.2.3.tgz", + "integrity": "sha512-r3MIryXDeXDOZh7ih1l/yE9ZLORCd5e8vWg02azWRGj5SPTuoh69A2AIyn0Z31V/kHBfZ4HgWJ+OK3GTTwLmnw==", + "dev": true, + "peerDependencies": { + "esbuild": "*" + } + }, + "node_modules/@esbuild-plugins/node-modules-polyfill": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@esbuild-plugins/node-modules-polyfill/-/node-modules-polyfill-0.2.2.tgz", + "integrity": "sha512-LXV7QsWJxRuMYvKbiznh+U1ilIop3g2TeKRzUxOG5X3YITc8JyyTa90BmLwqqv0YnX4v32CSlG+vsziZp9dMvA==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^4.0.0", + "rollup-plugin-node-polyfills": "^0.2.1" + }, + "peerDependencies": { + "esbuild": "*" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@fastify/busboy": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.0.tgz", + "integrity": "sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==", + "dev": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@kamilkisiela/fast-url-parser": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@kamilkisiela/fast-url-parser/-/fast-url-parser-1.1.4.tgz", + "integrity": "sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==", + "dev": true + }, + "node_modules/@podverse/podcast-feed-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@podverse/podcast-feed-parser/-/podcast-feed-parser-1.1.1.tgz", + "integrity": "sha512-CIKLkhXNgD2Bz3UtDLdLd/wLaDzBROzjq6JR6xSj/a01bn0VahUd1uhsPh++n26+IMfMsmCbD5p3t0Q/udT4aQ==", + "dev": true, + "dependencies": { + "abort-controller": "^3.0.0", + "isomorphic-fetch": "^3.0.0", + "npm": "^6.4.1", + "xml2js": "^0.4.19" + } + }, + "node_modules/@tsconfig/node21": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node21/-/node21-21.0.1.tgz", + "integrity": "sha512-2Khg79N+z2Qkb9SjLzOi8cz2PSa/oUpHIeQm1YWzmWXkoFcPXFZSHgs+Z8iPCDjIoXFqMNYntiTXxfLYQMcRhw==", + "dev": true + }, + "node_modules/@types/luxon": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.4.1.tgz", + "integrity": "sha512-m1KQEZZCITtheRhMVq5jDvAl0HwFhunLs7x6tpFFvUTJpKfmewS/Ymg+YA97/s8w1I1nC4pJyi0aAnn+vf3yew==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.11.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.4.tgz", + "integrity": "sha512-6I0fMH8Aoy2lOejL3s4LhyIYX34DPwY8bl5xlNjBvUEk8OHrcuzsFt+Ied4LvJihbtXPM+8zUqdydfIti86v9g==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@whatwg-node/events": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.1.1.tgz", + "integrity": "sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==", + "dev": true, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.9.15", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.9.15.tgz", + "integrity": "sha512-2wIUcolUthZt0nsPRj+pT7K9h/EO3t/j09IBuq0FtITCsASc2fRCmRw2JHS6hk9fzUQrz2+YYrA1ZDpV7+vLsQ==", + "dev": true, + "dependencies": { + "@whatwg-node/node-fetch": "^0.5.0", + "urlpattern-polyfill": "^9.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.5.4.tgz", + "integrity": "sha512-5AXi4B44/6SOlQG+X3cO5lsUdRTWSXqaWLkGKnwWfeJoMgRfA53RnYVnvTV+4CoatNBStPrIoDorjgQv+ouiMQ==", + "dev": true, + "dependencies": { + "@kamilkisiela/fast-url-parser": "^1.1.4", + "@whatwg-node/events": "^0.1.0", + "busboy": "^1.6.0", + "fast-querystring": "^1.1.1", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@whatwg-node/server": { + "version": "0.9.23", + "resolved": "https://registry.npmjs.org/@whatwg-node/server/-/server-0.9.23.tgz", + "integrity": "sha512-B4SkvwXq0dNFQC/9r6UjMeE1MG0zxxFqSCljasgq/HYtY8Sm/blr7F2vZorIsjtz3nv/RDyrh1sM1MG7PUS6Vg==", + "dev": true, + "dependencies": { + "@whatwg-node/fetch": "^0.9.10", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/as-table": { + "version": "1.0.55", + "resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz", + "integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==", + "dev": true, + "dependencies": { + "printable-characters": "^1.0.42" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/blake3-wasm": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/blake3-wasm/-/blake3-wasm-2.1.5.tgz", + "integrity": "sha512-F1+K8EbfOZE49dtoPtmxUQrpXaBIl3ICvasLh+nJta0xkz+9kF/7uet9fLnwKqhDrmj6g+6K3Tw9yQPUg2ka5g==", + "dev": true + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dev": true, + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/capnp-ts": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/capnp-ts/-/capnp-ts-0.7.0.tgz", + "integrity": "sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==", + "dev": true, + "dependencies": { + "debug": "^4.3.1", + "tslib": "^2.2.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "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/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz", + "integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/esbuild": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/exit-hook": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/exit-hook/-/exit-hook-2.2.1.tgz", + "integrity": "sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==", + "dev": true + }, + "node_modules/fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "dev": true, + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "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==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-source": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz", + "integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==", + "dev": true, + "dependencies": { + "data-uri-to-buffer": "^2.0.0", + "source-map": "^0.6.1" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "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, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz", + "integrity": "sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==", + "dev": true, + "dependencies": { + "node-fetch": "^2.6.1", + "whatwg-fetch": "^3.4.1" + } + }, + "node_modules/itty-router": { + "version": "4.0.27", + "resolved": "https://registry.npmjs.org/itty-router/-/itty-router-4.0.27.tgz", + "integrity": "sha512-Q3/GOE2EJvyu3hhxGN3WDWh3QNg4v7h1KFx/jSLcIOOkpSI1jUFTgGefEESXon4j5YwqCIf0DEemjiVAFSBiUw==" + }, + "node_modules/luxon": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.4.tgz", + "integrity": "sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz", + "integrity": "sha512-5k547tI4Cy+Lddr/hdjNbBEWBwSl8EBc5aSdKvedav8DReADgWJzcYiktaRIw3GtGC1jjwldXtTzvqJZmtvC7w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", + "integrity": "sha512-ryBDp1Z/6X90UvjUK3RksH0IBPM137T7cmg4OgD5wQBojlAiUwuok0QeELkim/72EtcYuNlmbkrcGuxj3Kl0YQ==", + "dependencies": { + "mime-db": "~1.25.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/miniflare": { + "version": "3.20231218.2", + "resolved": "https://registry.npmjs.org/miniflare/-/miniflare-3.20231218.2.tgz", + "integrity": "sha512-rCUI2OjqCf3fZVdmSX4DOZQRzSDvHp/oL2vjER/cvJEdWSYiqRxDp2oO7A7JcEo1/Y+kPa5VQ1pFfdZpjBcpFg==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "0.8.1", + "acorn": "^8.8.0", + "acorn-walk": "^8.2.0", + "capnp-ts": "^0.7.0", + "exit-hook": "^2.2.1", + "glob-to-regexp": "^0.4.1", + "stoppable": "^1.1.0", + "undici": "^5.22.1", + "workerd": "1.20231218.0", + "ws": "^8.11.0", + "youch": "^3.2.2", + "zod": "^3.20.6" + }, + "bin": { + "miniflare": "bootstrap.js" + }, + "engines": { + "node": ">=16.13" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mustache": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.2.0.tgz", + "integrity": "sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==", + "dev": true, + "bin": { + "mustache": "bin/mustache" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "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/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm": { + "version": "6.14.18", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.14.18.tgz", + "integrity": "sha512-p3SjqSchSuNQUqbJBgwdv0L3O6bKkaSfQrQzJsskNpNKLg0g37c5xTXFV0SqTlX9GWvoGxBELVJMRWq0J8oaLA==", + "bundleDependencies": [ + "abbrev", + "ansicolors", + "ansistyles", + "aproba", + "archy", + "bin-links", + "bluebird", + "byte-size", + "cacache", + "call-limit", + "chownr", + "ci-info", + "cli-columns", + "cli-table3", + "cmd-shim", + "columnify", + "config-chain", + "debuglog", + "detect-indent", + "detect-newline", + "dezalgo", + "editor", + "figgy-pudding", + "find-npm-prefix", + "fs-vacuum", + "fs-write-stream-atomic", + "gentle-fs", + "glob", + "graceful-fs", + "has-unicode", + "hosted-git-info", + "iferr", + "imurmurhash", + "infer-owner", + "inflight", + "inherits", + "ini", + "init-package-json", + "is-cidr", + "json-parse-better-errors", + "JSONStream", + "lazy-property", + "libcipm", + "libnpm", + "libnpmaccess", + "libnpmhook", + "libnpmorg", + "libnpmsearch", + "libnpmteam", + "libnpx", + "lock-verify", + "lockfile", + "lodash._baseindexof", + "lodash._baseuniq", + "lodash._bindcallback", + "lodash._cacheindexof", + "lodash._createcache", + "lodash._getnative", + "lodash.clonedeep", + "lodash.restparam", + "lodash.union", + "lodash.uniq", + "lodash.without", + "lru-cache", + "meant", + "mississippi", + "mkdirp", + "move-concurrently", + "node-gyp", + "nopt", + "normalize-package-data", + "npm-audit-report", + "npm-cache-filename", + "npm-install-checks", + "npm-lifecycle", + "npm-package-arg", + "npm-packlist", + "npm-pick-manifest", + "npm-profile", + "npm-registry-fetch", + "npm-user-validate", + "npmlog", + "once", + "opener", + "osenv", + "pacote", + "path-is-inside", + "promise-inflight", + "qrcode-terminal", + "query-string", + "qw", + "read-cmd-shim", + "read-installed", + "read-package-json", + "read-package-tree", + "read", + "readable-stream", + "readdir-scoped-modules", + "request", + "retry", + "rimraf", + "safe-buffer", + "semver", + "sha", + "slide", + "sorted-object", + "sorted-union-stream", + "ssri", + "stringify-package", + "tar", + "text-table", + "tiny-relative-date", + "uid-number", + "umask", + "unique-filename", + "unpipe", + "update-notifier", + "uuid", + "validate-npm-package-license", + "validate-npm-package-name", + "which", + "worker-farm", + "write-file-atomic" + ], + "dev": true, + "dependencies": { + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "^2.0.0", + "archy": "~1.0.0", + "bin-links": "^1.1.8", + "bluebird": "^3.7.2", + "byte-size": "^5.0.1", + "cacache": "^12.0.4", + "call-limit": "^1.1.1", + "chownr": "^1.1.4", + "ci-info": "^2.0.0", + "cli-columns": "^3.1.2", + "cli-table3": "^0.5.1", + "cmd-shim": "^3.0.3", + "columnify": "~1.5.4", + "config-chain": "^1.1.13", + "debuglog": "*", + "detect-indent": "~5.0.0", + "detect-newline": "^2.1.0", + "dezalgo": "^1.0.4", + "editor": "~1.0.0", + "figgy-pudding": "^3.5.2", + "find-npm-prefix": "^1.0.2", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "gentle-fs": "^2.3.1", + "glob": "^7.2.3", + "graceful-fs": "^4.2.10", + "has-unicode": "~2.0.1", + "hosted-git-info": "^2.8.9", + "iferr": "^1.0.2", + "imurmurhash": "*", + "infer-owner": "^1.0.4", + "inflight": "~1.0.6", + "inherits": "^2.0.4", + "ini": "^1.3.8", + "init-package-json": "^1.10.3", + "is-cidr": "^3.1.1", + "json-parse-better-errors": "^1.0.2", + "JSONStream": "^1.3.5", + "lazy-property": "~1.0.0", + "libcipm": "^4.0.8", + "libnpm": "^3.0.1", + "libnpmaccess": "^3.0.2", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "libnpx": "^10.2.4", + "lock-verify": "^2.2.2", + "lockfile": "^1.0.4", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "^5.1.1", + "meant": "^1.0.3", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.6", + "move-concurrently": "^1.0.1", + "node-gyp": "^5.1.1", + "nopt": "^4.0.3", + "normalize-package-data": "^2.5.0", + "npm-audit-report": "^1.3.3", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "^3.0.2", + "npm-lifecycle": "^3.1.5", + "npm-package-arg": "^6.1.1", + "npm-packlist": "^1.4.8", + "npm-pick-manifest": "^3.0.2", + "npm-profile": "^4.0.4", + "npm-registry-fetch": "^4.0.7", + "npm-user-validate": "^1.0.1", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "^1.5.2", + "osenv": "^0.1.5", + "pacote": "^9.5.12", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "qrcode-terminal": "^0.12.0", + "query-string": "^6.14.1", + "qw": "^1.0.2", + "read": "~1.0.7", + "read-cmd-shim": "^1.0.5", + "read-installed": "~4.0.3", + "read-package-json": "^2.1.2", + "read-package-tree": "^5.3.1", + "readable-stream": "^3.6.0", + "readdir-scoped-modules": "^1.1.0", + "request": "^2.88.2", + "retry": "^0.12.0", + "rimraf": "^2.7.1", + "safe-buffer": "^5.2.1", + "semver": "^5.7.1", + "sha": "^3.0.0", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "^6.0.2", + "stringify-package": "^1.0.1", + "tar": "^4.4.19", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "^1.1.1", + "unpipe": "~1.0.0", + "update-notifier": "^2.5.0", + "uuid": "^3.4.0", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^1.3.1", + "worker-farm": "^1.7.0", + "write-file-atomic": "^2.4.3" + }, + "bin": { + "npm": "bin/npm-cli.js", + "npx": "bin/npx-cli.js" + }, + "engines": { + "node": "6 >=6.2.0 || 8 || >=9.3.0" + } + }, + "node_modules/npm/node_modules/@iarna/cli": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.2", + "signal-exit": "^3.0.2" + } + }, + "node_modules/npm/node_modules/abbrev": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/agent-base": { + "version": "4.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/npm/node_modules/agentkeepalive": { + "version": "3.5.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/npm/node_modules/ansi-align": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^2.0.0" + } + }, + "node_modules/npm/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ansi-styles": { + "version": "3.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/ansicolors": { + "version": "0.3.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ansistyles": { + "version": "0.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/aproba": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/archy": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "node_modules/npm/node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/are-we-there-yet/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/are-we-there-yet/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/are-we-there-yet/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/asap": { + "version": "2.0.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/asn1": { + "version": "0.2.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/npm/node_modules/assert-plus": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/asynckit": { + "version": "0.4.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/aws-sign2": { + "version": "0.7.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/aws4": { + "version": "1.11.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/npm/node_modules/bin-links": { + "version": "1.1.8", + "dev": true, + "inBundle": true, + "license": "Artistic-2.0", + "dependencies": { + "bluebird": "^3.5.3", + "cmd-shim": "^3.0.0", + "gentle-fs": "^2.3.0", + "graceful-fs": "^4.1.15", + "npm-normalize-package-bin": "^1.0.0", + "write-file-atomic": "^2.3.0" + } + }, + "node_modules/npm/node_modules/bluebird": { + "version": "3.7.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/boxen": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/npm/node_modules/buffer-from": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/builtins": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/byline": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/byte-size": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/npm/node_modules/cacache": { + "version": "12.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + } + }, + "node_modules/npm/node_modules/call-limit": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/camelcase": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/capture-stack-trace": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/caseless": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/npm/node_modules/chalk": { + "version": "2.4.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/chownr": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ci-info": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/cidr-regex": { + "version": "2.0.10", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "ip-regex": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/cli-boxes": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/cli-columns": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^2.0.0", + "strip-ansi": "^3.0.1" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/cli-table3": { + "version": "0.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "colors": "^1.1.2" + } + }, + "node_modules/npm/node_modules/cliui": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/string-width": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/cliui/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/clone": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/cmd-shim": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "node_modules/npm/node_modules/code-point-at": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/color-convert": { + "version": "1.9.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "^1.1.1" + } + }, + "node_modules/npm/node_modules/color-name": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/colors": { + "version": "1.3.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/npm/node_modules/columnify": { + "version": "1.5.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "node_modules/npm/node_modules/combined-stream": { + "version": "1.0.8", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/concat-stream": { + "version": "1.6.2", + "dev": true, + "engines": [ + "node >= 0.8" + ], + "inBundle": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/npm/node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/concat-stream/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/concat-stream/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/config-chain": { + "version": "1.1.13", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/npm/node_modules/configstore": { + "version": "3.1.5", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "dot-prop": "^4.2.1", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/console-control-strings": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/copy-concurrently": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "node_modules/npm/node_modules/copy-concurrently/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/copy-concurrently/node_modules/iferr": { + "version": "0.1.5", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/core-util-is": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/create-error-class": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "capture-stack-trace": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/cross-spawn": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/lru-cache": { + "version": "4.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/npm/node_modules/cross-spawn/node_modules/yallist": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/crypto-random-string": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/cyclist": { + "version": "0.2.2", + "dev": true, + "inBundle": true + }, + "node_modules/npm/node_modules/dashdash": { + "version": "1.14.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/npm/node_modules/debug": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/npm/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/debuglog": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/decamelize": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/decode-uri-component": { + "version": "0.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/npm/node_modules/deep-extend": { + "version": "0.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/npm/node_modules/defaults": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/npm/node_modules/define-properties": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/delayed-stream": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/npm/node_modules/delegates": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/detect-indent": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/detect-newline": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/dezalgo": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/dot-prop": { + "version": "4.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-obj": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/dotenv": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.6.0" + } + }, + "node_modules/npm/node_modules/duplexer3": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/npm/node_modules/duplexify": { + "version": "3.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/npm/node_modules/duplexify/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/duplexify/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/duplexify/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/duplexify/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ecc-jsbn": { + "version": "0.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/npm/node_modules/editor": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/emoji-regex": { + "version": "7.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/encoding": { + "version": "0.1.12", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "~0.4.13" + } + }, + "node_modules/npm/node_modules/end-of-stream": { + "version": "1.4.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/npm/node_modules/env-paths": { + "version": "2.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/err-code": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/errno": { + "version": "0.1.7", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/npm/node_modules/es-abstract": { + "version": "1.12.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "es-to-primitive": "^1.1.1", + "function-bind": "^1.1.1", + "has": "^1.0.1", + "is-callable": "^1.1.3", + "is-regex": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/es-to-primitive": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/es6-promise": { + "version": "4.2.8", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/es6-promisify": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "es6-promise": "^4.0.3" + } + }, + "node_modules/npm/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/npm/node_modules/execa": { + "version": "0.7.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/execa/node_modules/get-stream": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/extend": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/extsprintf": { + "version": "1.3.0", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fast-json-stable-stringify": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/figgy-pudding": { + "version": "3.5.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/filter-obj": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/find-npm-prefix": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/flush-write-stream": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "node_modules/npm/node_modules/flush-write-stream/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/flush-write-stream/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/flush-write-stream/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/flush-write-stream/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/forever-agent": { + "version": "0.6.1", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/form-data": { + "version": "2.3.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/npm/node_modules/from2": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "node_modules/npm/node_modules/from2/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/from2/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/from2/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/from2/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-minipass": { + "version": "1.2.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minipass": "^2.6.0" + } + }, + "node_modules/npm/node_modules/fs-minipass/node_modules/minipass": { + "version": "2.9.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/fs-vacuum": { + "version": "1.2.10", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic": { + "version": "1.0.10", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/iferr": { + "version": "0.1.5", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/fs-write-stream-atomic/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/fs.realpath": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/function-bind": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gauge": { + "version": "2.7.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "node_modules/npm/node_modules/gauge/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/gauge/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/genfun": { + "version": "5.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/gentle-fs": { + "version": "2.3.1", + "dev": true, + "inBundle": true, + "license": "Artistic-2.0", + "dependencies": { + "aproba": "^1.1.2", + "chownr": "^1.1.2", + "cmd-shim": "^3.0.3", + "fs-vacuum": "^1.2.10", + "graceful-fs": "^4.1.11", + "iferr": "^0.1.5", + "infer-owner": "^1.0.4", + "mkdirp": "^0.5.1", + "path-is-inside": "^1.0.2", + "read-cmd-shim": "^1.0.1", + "slide": "^1.1.6" + } + }, + "node_modules/npm/node_modules/gentle-fs/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/gentle-fs/node_modules/iferr": { + "version": "0.1.5", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/get-caller-file": { + "version": "2.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/npm/node_modules/get-stream": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/getpass": { + "version": "0.1.7", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/npm/node_modules/glob": { + "version": "7.2.3", + "dev": true, + "inBundle": 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/npm/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/global-dirs": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/got": { + "version": "6.7.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/got/node_modules/get-stream": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/graceful-fs": { + "version": "4.2.10", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/har-schema": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/har-validator": { + "version": "5.1.5", + "deprecated": "this library is no longer supported", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "inBundle": 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/npm/node_modules/har-validator/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/has": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/npm/node_modules/has-flag": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/has-symbols": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/has-unicode": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/hosted-git-info": { + "version": "2.8.9", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/http-cache-semantics": { + "version": "3.8.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/http-proxy-agent": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "4", + "debug": "3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/npm/node_modules/http-signature": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/npm/node_modules/https-proxy-agent": { + "version": "2.2.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/npm/node_modules/humanize-ms": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/npm/node_modules/iconv-lite": { + "version": "0.4.23", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/iferr": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/npm/node_modules/ignore-walk": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "minimatch": "^3.0.4" + } + }, + "node_modules/npm/node_modules/import-lazy": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/imurmurhash": { + "version": "0.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/npm/node_modules/infer-owner": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/inflight": { + "version": "1.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/inherits": { + "version": "2.0.4", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ini": { + "version": "1.3.8", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/init-package-json": { + "version": "1.10.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/npm/node_modules/ip": { + "version": "1.1.5", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/ip-regex": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/is-callable": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-ci": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/npm/node_modules/is-ci/node_modules/ci-info": { + "version": "1.6.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/is-cidr": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "cidr-regex": "^2.0.10" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/is-date-object": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-installed-globally": { + "version": "0.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/is-npm": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-obj": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-path-inside": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-redirect": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-regex": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-retry-allowed": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-stream": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/is-symbol": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/is-typedarray": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isarray": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/isexe": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/isstream": { + "version": "0.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/jsbn": { + "version": "0.1.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-parse-better-errors": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/json-schema": { + "version": "0.4.0", + "dev": true, + "inBundle": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "node_modules/npm/node_modules/json-stringify-safe": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/jsonparse": { + "version": "1.3.1", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/JSONStream": { + "version": "1.3.5", + "dev": true, + "inBundle": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/jsprim": { + "version": "1.4.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/npm/node_modules/latest-version": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "package-json": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/lazy-property": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/libcipm": { + "version": "4.0.8", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.1", + "figgy-pudding": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "graceful-fs": "^4.1.11", + "ini": "^1.3.5", + "lock-verify": "^2.1.0", + "mkdirp": "^0.5.1", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "pacote": "^9.1.0", + "read-package-json": "^2.0.13", + "rimraf": "^2.6.2", + "worker-farm": "^1.6.0" + } + }, + "node_modules/npm/node_modules/libnpm": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.3", + "find-npm-prefix": "^1.0.2", + "libnpmaccess": "^3.0.2", + "libnpmconfig": "^1.2.1", + "libnpmhook": "^5.0.3", + "libnpmorg": "^1.0.1", + "libnpmpublish": "^1.1.2", + "libnpmsearch": "^2.0.2", + "libnpmteam": "^1.0.2", + "lock-verify": "^2.0.2", + "npm-lifecycle": "^3.0.0", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "npm-profile": "^4.0.2", + "npm-registry-fetch": "^4.0.0", + "npmlog": "^4.1.2", + "pacote": "^9.5.3", + "read-package-json": "^2.0.13", + "stringify-package": "^1.0.0" + } + }, + "node_modules/npm/node_modules/libnpmaccess": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "get-stream": "^4.0.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmconfig": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1", + "find-up": "^3.0.0", + "ini": "^1.3.5" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/find-up": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/locate-path": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/p-limit": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/p-locate": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmconfig/node_modules/p-try": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/libnpmhook": { + "version": "5.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmorg": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmpublish": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "lodash.clonedeep": "^4.5.0", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-registry-fetch": "^4.0.0", + "semver": "^5.5.1", + "ssri": "^6.0.1" + } + }, + "node_modules/npm/node_modules/libnpmsearch": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpmteam": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^2.0.0", + "figgy-pudding": "^3.4.1", + "get-stream": "^4.0.0", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/libnpx": { + "version": "10.2.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "dotenv": "^5.0.1", + "npm-package-arg": "^6.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.0", + "update-notifier": "^2.3.0", + "which": "^1.3.0", + "y18n": "^4.0.0", + "yargs": "^14.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/lock-verify": { + "version": "2.2.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "@iarna/cli": "^2.1.0", + "npm-package-arg": "^6.1.0", + "semver": "^5.4.1" + }, + "bin": { + "lock-verify": "cli.js" + } + }, + "node_modules/npm/node_modules/lockfile": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "signal-exit": "^3.0.2" + } + }, + "node_modules/npm/node_modules/lodash._baseindexof": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._baseuniq": { + "version": "4.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "node_modules/npm/node_modules/lodash._bindcallback": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._cacheindexof": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._createcache": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "lodash._getnative": "^3.0.0" + } + }, + "node_modules/npm/node_modules/lodash._createset": { + "version": "4.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._getnative": { + "version": "3.9.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash._root": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.clonedeep": { + "version": "4.5.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.restparam": { + "version": "3.6.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.union": { + "version": "4.6.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.uniq": { + "version": "4.5.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lodash.without": { + "version": "4.4.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/lowercase-keys": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/lru-cache": { + "version": "5.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/npm/node_modules/make-dir": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/make-fetch-happen": { + "version": "5.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "agentkeepalive": "^3.4.1", + "cacache": "^12.0.0", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "node_modules/npm/node_modules/meant": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mime-db": { + "version": "1.35.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/mime-types": { + "version": "2.1.19", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "mime-db": "~1.35.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/npm/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/minimist": { + "version": "1.2.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/minizlib": { + "version": "1.3.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minipass": "^2.9.0" + } + }, + "node_modules/npm/node_modules/minizlib/node_modules/minipass": { + "version": "2.9.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/mississippi": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/npm/node_modules/mkdirp": { + "version": "0.5.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/npm/node_modules/move-concurrently": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "node_modules/npm/node_modules/move-concurrently/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/ms": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/mute-stream": { + "version": "0.0.7", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/node-fetch-npm": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/node-gyp": { + "version": "5.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "mkdirp": "^0.5.1", + "nopt": "^4.0.1", + "npmlog": "^4.1.2", + "request": "^2.88.0", + "rimraf": "^2.6.3", + "semver": "^5.7.1", + "tar": "^4.4.12", + "which": "^1.3.1" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/npm/node_modules/nopt": { + "version": "4.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "abbrev": "1", + "osenv": "^0.1.4" + }, + "bin": { + "nopt": "bin/nopt.js" + } + }, + "node_modules/npm/node_modules/normalize-package-data": { + "version": "2.5.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/npm/node_modules/normalize-package-data/node_modules/resolve": { + "version": "1.10.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-parse": "^1.0.6" + } + }, + "node_modules/npm/node_modules/npm-audit-report": { + "version": "1.3.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "cli-table3": "^0.5.0", + "console-control-strings": "^1.1.0" + } + }, + "node_modules/npm/node_modules/npm-bundled": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/npm-cache-filename": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-install-checks": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "node_modules/npm/node_modules/npm-lifecycle": { + "version": "3.1.5", + "dev": true, + "inBundle": true, + "license": "Artistic-2.0", + "dependencies": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.15", + "node-gyp": "^5.0.2", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "node_modules/npm/node_modules/npm-logical-tree": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/npm-package-arg": { + "version": "6.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^2.7.1", + "osenv": "^0.1.5", + "semver": "^5.6.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "node_modules/npm/node_modules/npm-packlist": { + "version": "1.4.8", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm/node_modules/npm-pick-manifest": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1", + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "node_modules/npm/node_modules/npm-profile": { + "version": "4.0.4", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.2 || 2", + "figgy-pudding": "^3.4.1", + "npm-registry-fetch": "^4.0.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch": { + "version": "4.0.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "bluebird": "^3.5.1", + "figgy-pudding": "^3.4.1", + "JSONStream": "^1.3.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/npm/node_modules/npm-registry-fetch/node_modules/safe-buffer": { + "version": "5.2.1", + "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" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/npm-run-path": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/npm-user-validate": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause" + }, + "node_modules/npm/node_modules/npmlog": { + "version": "4.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "node_modules/npm/node_modules/number-is-nan": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/oauth-sign": { + "version": "0.9.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/object-assign": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/object-keys": { + "version": "1.0.12", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/npm/node_modules/object.getownpropertydescriptors": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.2", + "es-abstract": "^1.5.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/once": { + "version": "1.4.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/npm/node_modules/opener": { + "version": "1.5.2", + "dev": true, + "inBundle": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/npm/node_modules/os-homedir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/os-tmpdir": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/osenv": { + "version": "0.1.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "node_modules/npm/node_modules/p-finally": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/package-json": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/pacote": { + "version": "9.5.12", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.5.3", + "cacache": "^12.0.2", + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "get-stream": "^4.1.0", + "glob": "^7.1.3", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "make-fetch-happen": "^5.0.0", + "minimatch": "^3.0.4", + "minipass": "^2.3.5", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.4.0", + "npm-normalize-package-bin": "^1.0.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.12", + "npm-pick-manifest": "^3.0.0", + "npm-registry-fetch": "^4.0.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.1", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.6.0", + "ssri": "^6.0.1", + "tar": "^4.4.10", + "unique-filename": "^1.1.1", + "which": "^1.3.1" + } + }, + "node_modules/npm/node_modules/pacote/node_modules/minipass": { + "version": "2.9.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/parallel-transform": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "node_modules/npm/node_modules/parallel-transform/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/parallel-transform/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/parallel-transform/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/parallel-transform/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/path-exists": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/path-is-absolute": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/path-is-inside": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/npm/node_modules/path-key": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/performance-now": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/pify": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/prepend-http": { + "version": "1.0.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/process-nextick-args": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/promise-inflight": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/promise-retry": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/npm/node_modules/promise-retry/node_modules/retry": { + "version": "0.10.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/promzard": { + "version": "0.3.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "read": "1" + } + }, + "node_modules/npm/node_modules/proto-list": { + "version": "1.2.4", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/protoduck": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "genfun": "^5.0.0" + } + }, + "node_modules/npm/node_modules/prr": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/pseudomap": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/psl": { + "version": "1.9.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/pump": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/npm/node_modules/pumpify": { + "version": "1.5.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "node_modules/npm/node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/npm/node_modules/qrcode-terminal": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" + } + }, + "node_modules/npm/node_modules/qs": { + "version": "6.5.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/npm/node_modules/query-string": { + "version": "6.14.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/qw": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/rc": { + "version": "1.2.8", + "dev": true, + "inBundle": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/npm/node_modules/read": { + "version": "1.0.7", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "mute-stream": "~0.0.4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/read-cmd-shim": { + "version": "1.0.5", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/read-installed": { + "version": "4.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/read-package-json": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.1", + "json-parse-even-better-errors": "^2.3.0", + "normalize-package-data": "^2.0.0", + "npm-normalize-package-bin": "^1.0.0" + } + }, + "node_modules/npm/node_modules/read-package-tree": { + "version": "5.3.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "util-promisify": "^2.1.0" + } + }, + "node_modules/npm/node_modules/readable-stream": { + "version": "3.6.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/readdir-scoped-modules": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "node_modules/npm/node_modules/registry-auth-token": { + "version": "3.4.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/npm/node_modules/registry-url": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "rc": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/request": { + "version": "2.88.2", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/require-directory": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/require-main-filename": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/retry": { + "version": "0.12.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm/node_modules/rimraf": { + "version": "2.7.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/npm/node_modules/run-queue": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "aproba": "^1.1.1" + } + }, + "node_modules/npm/node_modules/run-queue/node_modules/aproba": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/safe-buffer": { + "version": "5.2.1", + "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" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/safer-buffer": { + "version": "2.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/semver": { + "version": "5.7.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/npm/node_modules/semver-diff": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "semver": "^5.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/set-blocking": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/sha": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "(BSD-2-Clause OR MIT)", + "dependencies": { + "graceful-fs": "^4.1.2" + } + }, + "node_modules/npm/node_modules/shebang-command": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/shebang-regex": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/signal-exit": { + "version": "3.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/slide": { + "version": "1.1.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/smart-buffer": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks": { + "version": "2.3.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ip": "1.1.5", + "smart-buffer": "^4.1.0" + }, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent": { + "version": "4.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "agent-base": "~4.2.1", + "socks": "~2.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm/node_modules/socks-proxy-agent/node_modules/agent-base": { + "version": "4.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/npm/node_modules/sorted-object": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "(WTFPL OR MIT)" + }, + "node_modules/npm/node_modules/sorted-union-stream": { + "version": "2.1.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" + } + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/from2": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + } + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/isarray": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/readable-stream": { + "version": "1.1.14", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/npm/node_modules/sorted-union-stream/node_modules/string_decoder": { + "version": "0.10.31", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/spdx-correct": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-exceptions": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "CC-BY-3.0" + }, + "node_modules/npm/node_modules/spdx-expression-parse": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/npm/node_modules/spdx-license-ids": { + "version": "3.0.5", + "dev": true, + "inBundle": true, + "license": "CC0-1.0" + }, + "node_modules/npm/node_modules/split-on-first": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/sshpk": { + "version": "1.17.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/ssri": { + "version": "6.0.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "figgy-pudding": "^3.5.1" + } + }, + "node_modules/npm/node_modules/stream-each": { + "version": "1.2.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "node_modules/npm/node_modules/stream-iterate": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" + } + }, + "node_modules/npm/node_modules/stream-iterate/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/stream-iterate/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/stream-iterate/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/stream-iterate/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/stream-shift": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/strict-uri-encode": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string_decoder": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/npm/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/string-width": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/ansi-regex": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/string-width/node_modules/strip-ansi": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/stringify-package": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/strip-eof": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/strip-json-comments": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/supports-color": { + "version": "5.4.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/tar": { + "version": "4.4.19", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "chownr": "^1.1.4", + "fs-minipass": "^1.2.7", + "minipass": "^2.9.0", + "minizlib": "^1.3.3", + "mkdirp": "^0.5.5", + "safe-buffer": "^5.2.1", + "yallist": "^3.1.1" + }, + "engines": { + "node": ">=4.5" + } + }, + "node_modules/npm/node_modules/tar/node_modules/minipass": { + "version": "2.9.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "node_modules/npm/node_modules/tar/node_modules/safe-buffer": { + "version": "5.2.1", + "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" + } + ], + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tar/node_modules/yallist": { + "version": "3.1.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/term-size": { + "version": "1.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "execa": "^0.7.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/through": { + "version": "2.3.8", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/through2": { + "version": "2.0.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "node_modules/npm/node_modules/through2/node_modules/readable-stream": { + "version": "2.3.6", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/npm/node_modules/through2/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/through2/node_modules/string_decoder": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/npm/node_modules/through2/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/timed-out": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/tiny-relative-date": { + "version": "1.3.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/tough-cookie": { + "version": "2.5.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/npm/node_modules/tough-cookie/node_modules/punycode": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/tunnel-agent": { + "version": "0.6.0", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/tweetnacl": { + "version": "0.14.5", + "dev": true, + "inBundle": true, + "license": "Unlicense" + }, + "node_modules/npm/node_modules/typedarray": { + "version": "0.0.6", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/uid-number": { + "version": "0.0.6", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "*" + } + }, + "node_modules/npm/node_modules/umask": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/unique-filename": { + "version": "1.1.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/npm/node_modules/unique-slug": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/npm/node_modules/unique-string": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "crypto-random-string": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/unpipe": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/npm/node_modules/unzip-response": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/update-notifier": { + "version": "2.5.0", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/uri-js": { + "version": "4.4.1", + "dev": true, + "inBundle": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/npm/node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/url-parse-lax": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "prepend-http": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/util-deprecate": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/util-extend": { + "version": "1.0.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/npm/node_modules/util-promisify": { + "version": "2.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "node_modules/npm/node_modules/uuid": { + "version": "3.4.0", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "inBundle": true, + "license": "MIT", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/npm/node_modules/validate-npm-package-license": { + "version": "3.0.4", + "dev": true, + "inBundle": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/npm/node_modules/validate-npm-package-name": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "builtins": "^1.0.3" + } + }, + "node_modules/npm/node_modules/verror": { + "version": "1.10.0", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "inBundle": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/npm/node_modules/wcwidth": { + "version": "1.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/npm/node_modules/which": { + "version": "1.3.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/npm/node_modules/which-module": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/wide-align": { + "version": "1.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2" + } + }, + "node_modules/npm/node_modules/wide-align/node_modules/string-width": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm/node_modules/widest-line": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "string-width": "^2.1.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/worker-farm": { + "version": "1.7.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "errno": "~0.1.7" + } + }, + "node_modules/npm/node_modules/wrap-ansi": { + "version": "5.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "4.1.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/string-width": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/wrappy": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/write-file-atomic": { + "version": "2.4.3", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/npm/node_modules/xdg-basedir": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/xtend": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/npm/node_modules/y18n": { + "version": "4.0.1", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/yallist": { + "version": "3.0.3", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/npm/node_modules/yargs": { + "version": "14.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.1" + } + }, + "node_modules/npm/node_modules/yargs-parser": { + "version": "15.0.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/npm/node_modules/yargs-parser/node_modules/camelcase": { + "version": "5.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/p-limit": { + "version": "2.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/p-try": { + "version": "2.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm/node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", + "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/podcast": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/podcast/-/podcast-2.0.1.tgz", + "integrity": "sha512-TWXe/zVziwJNksAn7RLkSre+Z6VQgbs/+gC7qQCKdkyw0hv2hdFGOY9rHgKqa4LI+UP+yZBa6Wr+b9a9vrYDYQ==", + "dependencies": { + "rss": "^1.2.2" + } + }, + "node_modules/printable-characters": { + "version": "1.0.42", + "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", + "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==", + "dev": true + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "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/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/rollup-plugin-inject": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-inject/-/rollup-plugin-inject-3.0.2.tgz", + "integrity": "sha512-ptg9PQwzs3orn4jkgXJ74bfs5vYz1NCZlSQMBUA0wKcGp5i5pA1AO3fOUEte8enhGUC+iapTCzEWw2jEFFUO/w==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-inject.", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1", + "magic-string": "^0.25.3", + "rollup-pluginutils": "^2.8.1" + } + }, + "node_modules/rollup-plugin-node-polyfills": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-polyfills/-/rollup-plugin-node-polyfills-0.2.1.tgz", + "integrity": "sha512-4kCrKPTJ6sK4/gLL/U5QzVT8cxJcofO0OU74tnB19F40cmuAKSzH5/siithxlofFEjwvw1YAhPmbvGNA6jEroA==", + "dev": true, + "dependencies": { + "rollup-plugin-inject": "^3.0.0" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rss": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rss/-/rss-1.2.2.tgz", + "integrity": "sha512-xUhRTgslHeCBeHAqaWSbOYTydN2f0tAzNXvzh3stjz7QDhQMzdgHf3pfgNIngeytQflrFPfy6axHilTETr6gDg==", + "dependencies": { + "mime-types": "2.1.13", + "xml": "1.0.1" + } + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "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/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/stacktracey": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz", + "integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==", + "dev": true, + "dependencies": { + "as-table": "^1.0.36", + "get-source": "^2.0.12" + } + }, + "node_modules/stoppable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz", + "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==", + "dev": true, + "engines": { + "node": ">=4", + "npm": ">=6" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/tsx": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.0.tgz", + "integrity": "sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==", + "dev": true, + "dependencies": { + "esbuild": "~0.19.10", + "get-tsconfig": "^4.7.2" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "5.28.2", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.2.tgz", + "integrity": "sha512-wh1pHJHnUeQV5Xa8/kyQhO7WFa8M34l026L5P/+2TYiakvGy5Rdc8jWZVyG7ieht/0WgJLEd3kcU5gKx+6GC8w==", + "dev": true, + "dependencies": { + "@fastify/busboy": "^2.0.0" + }, + "engines": { + "node": ">=14.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/urlpattern-polyfill": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz", + "integrity": "sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==", + "dev": true + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "dev": true + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/workerd": { + "version": "1.20231218.0", + "resolved": "https://registry.npmjs.org/workerd/-/workerd-1.20231218.0.tgz", + "integrity": "sha512-AGIsDvqCrcwhoA9kb1hxOhVAe53/xJeaGZxL4FbYI9FvO17DZwrnqGq+6eqItJ6Cfw1ZLmf3BM+QdMWaL2bFWQ==", + "dev": true, + "hasInstallScript": true, + "bin": { + "workerd": "bin/workerd" + }, + "engines": { + "node": ">=16" + }, + "optionalDependencies": { + "@cloudflare/workerd-darwin-64": "1.20231218.0", + "@cloudflare/workerd-darwin-arm64": "1.20231218.0", + "@cloudflare/workerd-linux-64": "1.20231218.0", + "@cloudflare/workerd-linux-arm64": "1.20231218.0", + "@cloudflare/workerd-windows-64": "1.20231218.0" + } + }, + "node_modules/wrangler": { + "version": "3.22.5", + "resolved": "https://registry.npmjs.org/wrangler/-/wrangler-3.22.5.tgz", + "integrity": "sha512-9ScB/eX5+f8OEA0BHW9+EQDXTVdusZNpAaDu/yY65kJ2ggjehRCFWebz5ZdYSeJojBj7cvwu/skDqDwFAqlDTw==", + "dev": true, + "dependencies": { + "@cloudflare/kv-asset-handler": "^0.2.0", + "@esbuild-plugins/node-globals-polyfill": "^0.2.3", + "@esbuild-plugins/node-modules-polyfill": "^0.2.2", + "blake3-wasm": "^2.1.5", + "chokidar": "^3.5.3", + "esbuild": "0.17.19", + "miniflare": "3.20231218.2", + "nanoid": "^3.3.3", + "path-to-regexp": "^6.2.0", + "resolve": "^1.22.8", + "resolve.exports": "^2.0.2", + "selfsigned": "^2.0.1", + "source-map": "0.6.1", + "xxhash-wasm": "^1.0.1" + }, + "bin": { + "wrangler": "bin/wrangler.js", + "wrangler2": "bin/wrangler.js" + }, + "engines": { + "node": ">=16.17.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/wrangler/node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/@esbuild/win32-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/wrangler/node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, + "node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "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": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==" + }, + "node_modules/xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.0.2.tgz", + "integrity": "sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==", + "dev": true + }, + "node_modules/youch": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/youch/-/youch-3.3.3.tgz", + "integrity": "sha512-qSFXUk3UZBLfggAW3dJKg0BMblG5biqSF8M34E06o5CSsZtH92u9Hqmj2RzGiHDi64fhe83+4tENFP2DB6t6ZA==", + "dev": true, + "dependencies": { + "cookie": "^0.5.0", + "mustache": "^4.2.0", + "stacktracey": "^2.1.8" + } + }, + "node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..fa84980 --- /dev/null +++ b/package.json @@ -0,0 +1,42 @@ +{ + "name": "raiplayrss", + "version": "0.0.0", + "description": "", + "scripts": { + "clean": "rm -rf dist", + "check": "npm run lint && npm run typecheck", + "ci": "npm run ci-check && npm run test", + "ci-check": "npm run ci-lint && npm run typecheck", + "ci-lint": "biome check cf lib testdata", + "deploy": "wrangler -c cf/wrangler.toml --env prod deploy", + "deploy-preview": "wrangler -c cf/wrangler.toml deploy --dry-run --outdir '../dist'", + "dev": "wrangler -c cf/wrangler.toml dev", + "lint": "biome check --apply cf lib testdata", + "test": "npm run test-lib && npm run test-cf", + "test-cf": "tsx --env-file=cf/.dev.vars --test 'cf/**/*.test.ts'", + "test-lib": "tsx --test 'lib/**/*.test.ts'", + "typecheck": "npm run typecheck-lib && npm run typecheck-cf", + "typecheck-cf": "tsc --project cf/tsconfig.json", + "typecheck-lib": "tsc --project lib/tsconfig.json" + }, + "author": "", + "license": "ISC", + "type": "module", + "devDependencies": { + "@biomejs/biome": "1.5.2", + "@cloudflare/workers-types": "^4.20231218.0", + "@podverse/podcast-feed-parser": "^1.1.1", + "@tsconfig/node21": "^21.0.1", + "@types/luxon": "^3.4.1", + "@whatwg-node/server": "^0.9.23", + "tsx": "^4.7.0", + "typescript": "^5.3.3", + "wrangler": "^3.22.5" + }, + "dependencies": { + "itty-router": "^4.0.27", + "luxon": "^3.4.4", + "podcast": "^2.0.1", + "zod": "^3.22.4" + } +} diff --git a/testdata/lastoriaingiallo.json b/testdata/lastoriaingiallo.json new file mode 100644 index 0000000..30ab4f4 --- /dev/null +++ b/testdata/lastoriaingiallo.json @@ -0,0 +1 @@ + {"page_updated":{"date":"15 Gennaio 2024","hour":"19:46"},"uniquename":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","title":"La storia in giallo","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","type":"RaiPlaySound Programma Item","create_date":"02-11-2023","create_time":"13:18","year":"2023","date_tracking":"2023-11-02","title":"La storia in giallo","description":"Una ricostruzione sceneggiata catapulta l'ascoltatore sulla scena del delitto, sul quale criminologi, psichiatri e storici cercano di far luce per svelarne il mistero. Delitti diversi per dinamiche, movente, ambiente, quindi delitti passionali, politici, di serial killer o delitti in famiglia. Ma anche misteri, storie di follia e tragici destini. Andato in onda su Rai Radio 3 dal 2002 al 2010, La storia in giallo è un programma ideato e condotto da Antonella Ferrera.","onair_date":null,"images":{"landscape":"/dl/img/2024/01/11/1704978736748_La%20storia%20in%20giallo-2048x1152.jpg","landscape_43_logo":null,"landscape_logo":"/dl/img/2024/01/11/1704978744182_La%20storia%20in%20giallo-LOGO-2048x1152.jpg","square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","square_external":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","hex_color":"#331d3f","weblink":"/programmi/lastoriaingiallo","path_id":"/programmi/lastoriaingiallo.json","channel":{"name":"Rai Radio 3","logo":"/dl/components/img/sound/loghi/logo-rairadio3-transparent.png","logo_svg":"/assets/img/canali/logo-rairadio3-transparent.svg","category_path":"radio3","palinsesto_url":"rai-radio-3","palinsesto_name":"Radio 3","hex_color":"#01b36e"},"typology":"Serie audio","genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico","pipe":"Storico|Category-85badf42-102f-457c-a2d3-f409b5e322b4","principal":true}],"subgenres":[{"id":"Category-5812f4ce-5ab6-4733-a72f-9b1ca8f7b723","name":"Radiodramma","pipe":"Radiodramma|Category-5812f4ce-5ab6-4733-a72f-9b1ca8f7b723","principal":true},{"id":"Category-88e6ecf4-899a-4079-9e02-e92425829ffc","name":"Thriller","pipe":"Thriller|Category-88e6ecf4-899a-4079-9e02-e92425829ffc"},{"id":"Category-f8629e8e-1e1a-4a9c-974b-3a37b28d140f","name":"Teatro","pipe":"Teatro|Category-f8629e8e-1e1a-4a9c-974b-3a37b28d140f"},{"id":"Category-1db0ce37-945f-45a0-99b8-4d07e047d269","name":"Storia moderna","pipe":"Storia moderna|Category-1db0ce37-945f-45a0-99b8-4d07e047d269"},{"id":"Category-0181e950-7383-4a49-8ad5-a20349654f20","name":"Storia antica","pipe":"Storia antica|Category-0181e950-7383-4a49-8ad5-a20349654f20"},{"id":"Category-bcf3b7bb-0f68-4da7-bfa5-03e1518e0b55","name":"Sceneggiato","pipe":"Sceneggiato|Category-bcf3b7bb-0f68-4da7-bfa5-03e1518e0b55"},{"id":"Category-671db728-5a6f-4ecd-82cf-dd0f576b681a","name":"Storia","pipe":"Storia|Category-671db728-5a6f-4ecd-82cf-dd0f576b681a"},{"id":"Category-6fd21b0b-808c-4b2f-966a-fd4190b8542f","name":"Storia contemporanea","pipe":"Storia contemporanea|Category-6fd21b0b-808c-4b2f-966a-fd4190b8542f"},{"id":"Category-eb9ed8af-a6f2-484f-946e-abff5902944d","name":"Storico","pipe":"Storico|Category-eb9ed8af-a6f2-484f-946e-abff5902944d"},{"id":"Category-e1ee2436-87f1-4f2d-b656-3ff089d197ec","name":"Storia medievale","pipe":"Storia medievale|Category-e1ee2436-87f1-4f2d-b656-3ff089d197ec"},{"id":"Category-0ec71eeb-fdda-4104-a316-43baeeb88804","name":"Giallo e crime","pipe":"Giallo e crime|Category-0ec71eeb-fdda-4104-a316-43baeeb88804"},{"id":"Category-9f034286-13d1-47a9-becd-c813cd310c93","name":"Personaggi","pipe":"Personaggi|Category-9f034286-13d1-47a9-becd-c813cd310c93"},{"id":"Category-90d2a27b-2768-43da-97b3-095c6616154c","name":"Mistery","pipe":"Mistery|Category-90d2a27b-2768-43da-97b3-095c6616154c"},{"id":"Category-94f6eb7f-b542-4a1f-b38e-4c208ffabf75","name":"Storia dell'arte","pipe":"Storia dell'arte|Category-94f6eb7f-b542-4a1f-b38e-4c208ffabf75"}],"editor":"Rai Radio 3","socials":[],"contacts":{"email":null,"phone_number":null,"sms":null,"whatsapp":null,"newsletter":null},"people":[],"metadata":{"product_sources":[{"id":"Category-4cbb5b4e-f80d-4017-9cc0-f3e7f5cb9437","name":"Messa in onda Radio","pipe":"Messa in onda Radio|Category-4cbb5b4e-f80d-4017-9cc0-f3e7f5cb9437","principal":true}],"targets":[],"school_levels":[],"languages":[],"audiodescription":[]},"adv":true,"noroll":false,"nobanner":false,"nofloorad":false,"nodmp":false,"play_inverted":true,"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]}},"tab_menu":[{"content_type":"episodi","label":"Episodi","weblink":"/programmi/lastoriaingiallo","path_id":"/programmi/lastoriaingiallo.json","sub_type":"RaiPlaySound Puntate Block","active":true}],"block":{"uniquename":"PublishingBlock-29fb743a-41bf-4f89-863d-a706d4a69872","title":"Episodi","type":"RaiPlaySound Puntate Block","content_type":"episodi","create_date":"02-11-2023 13:18:58","update_date":"15-01-2024 19:46:49","path":"episodi","cards":[{"uniquename":"ContentItem-b8ed89c2-57ad-4e03-a611-eb3b57e2088f","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La Storia in Giallo 2002_04_07_JOE_PETROSINO","toptitle":"1. Joe Petrosino","subtitle":"La storia in giallo","channel":{},"description":"La sera del 12 marzo 1909, a Piazza Marina, Palermo, viene ucciso il poliziotto italo-americano Joe Petrosino, giunto in Sicilia per colpire alle radici l'organizzazione criminale della Mano Nera. È il primo grande delitto di mafia. Petrosino è già, per il suo coraggio e la sua durezza, una figura mitica. Presto diventerà un personaggio dei fumetti e negli anni '70, il regista Daniele D'Anza ne farà un film di culto per la TV. La versione radiofonica vede protagonista Enrico Lo Verso, giunto al successo con \"Il ladro di bambini\", l'attore siciliano è al suo debutto radiofonico. Accanto a lui le voci di Paolo Ferrari, Cesare Barbetti, Ivo Garrani. Nel dibattito che segue la ricostruzione sceneggiata, l'autrice Antonella Ferrera intervista Roberto Alajmo, esperto di antimafia, e Roberto Olla, autore di documentari storici. ","episode_title":"1. Joe Petrosino","episode":"1","season":null,"form":"Integrale","audio":{"title":"La Storia in Giallo 2002_04_07_JOE_PETROSINO","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=E0zKUvykCUpPpPlussQC7Bdt8qzTgeeqqEEqualeeqqEEqual","type":"audio","duration":"00:29:00"},"downloadable_audio":{"title":"La Storia in Giallo 2002_04_07_JOE_PETROSINO","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=E0zKUvykCUpPpPlussQC7Bdt8qzTgeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-04-07-JOE-PETROSINO-b8ed89c2-57ad-4e03-a611-eb3b57e2088f.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-04-07-JOE-PETROSINO-b8ed89c2-57ad-4e03-a611-eb3b57e2088f.json","literal_publication_date":"07 Apr 2002","literal_duration":"29 min","duration_small_format":"29:00","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-b8ed89c2-57ad-4e03-a611-eb3b57e2088f","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la storia in giallo 2002_04_07_joe_petrosino","channel":"rai radio 3","date":"2002-04-07","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"1","episode_title":"1. joe petrosino","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 1. joe petrosino - ContentItem-b8ed89c2-57ad-4e03-a611-eb3b57e2088f","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-04-07-JOE-PETROSINO-b8ed89c2-57ad-4e03-a611-eb3b57e2088f.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-e54daa16-980a-4862-b51b-dd4cdf587285","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La_Storia_in_Giallo_2002_04_14_AGRIPPINA","toptitle":"2. Agrippina","subtitle":"La storia in giallo","channel":{},"description":"Nella primavera del 59 d.C., nei pressi del lago Lucrino, fu uccisa Agrippina per ordine di suo figlio, l'imperatore Nerone, che non ne sopportava più l'eccessiva invadenza. È il più grande matricidio della storia antica, ricostruito nella trasmissione, \"La storia in giallo\", domenica 14 aprile alle 19 su Radio 3, dapprima in forma sceneggiata, e poi oggetto di un dibattito cui hanno partecipato al fianco dell'autrice Antonella Ferrera lo storico Furio Sanpoli, lo psichiatra Piero Rocchini e la scrittrice Danila Comastri Montanari, specializzata in gialli ambientati nella Roma antica. L'imperatore Nerone era giunto al trono grazie all'appoggio della madre Agrippina, ed uccidendo Britannico, legittimo erede al trono. Non potendo più sopportare la forte personalità della madre che non voleva rinunciare e regnare per suo tramite, l'imperatore la fa salire su di una nave, Agrippina si salva a nuoto, ma una volta tornata nella sua villa, non potrà sfuggire ai sicari del figlio. Nella ricostruzione sono citati testi antichi e non - Seneca, Tacito, Svetonio, Racine -, mentre nel dibattito le opinioni sono a contrasto, a dimostrare quanto tutt'oggi sia vivo questo caso di Storia in Giallo. L'attrice protagonista è Anna Maria Gherardi, ed accanto a lei Paolo Ferrari, Alfredo Pea, Cesare Barbetti, Anna Melato. ","episode_title":"2. Agrippina","episode":"2","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_04_14_AGRIPPINA","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=fPYobPcV53LAHuHF8CeIwgeeqqEEqualeeqqEEqual","type":"audio","duration":"00:29:28"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_04_14_AGRIPPINA","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=fPYobPcV53LAHuHF8CeIwgeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-04-14-AGRIPPINA-e54daa16-980a-4862-b51b-dd4cdf587285.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-04-14-AGRIPPINA-e54daa16-980a-4862-b51b-dd4cdf587285.json","literal_publication_date":"14 Apr 2002","literal_duration":"29 min","duration_small_format":"29:28","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-e54daa16-980a-4862-b51b-dd4cdf587285","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_04_14_agrippina","channel":"rai radio 3","date":"2002-04-14","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"2","episode_title":"2. agrippina","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 2. agrippina - ContentItem-e54daa16-980a-4862-b51b-dd4cdf587285","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-04-14-AGRIPPINA-e54daa16-980a-4862-b51b-dd4cdf587285.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-a78de42e-434e-4d37-b43d-134cca49c3db","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La_Storia_in_Giallo_2002_05_05_BEATRICE_CENCI","toptitle":"3. Beatrice Cenci","subtitle":"La storia in giallo","channel":{},"description":"È l'ombra dell'incesto a pesare sulla morte del nobile romano Francesco Cenci, che venne ucciso per volontà della figlia, la giovane e bella Beatrice, modello ideale di femminilità nei secoli seguenti per pittori e poeti. La protagonista della ricostruzione sceneggiata è Micaela Esdra. La fiction dedicata a Beatrice Cenci, è seguita da un dibattito curato da Antonella Ferrera cui partecipano lo psichiatra Piero Rocchini e la storica Marina D'Amelia. ","episode_title":"3. Beatrice Cenci","episode":"3","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_05_05_BEATRICE_CENCI","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=Oa8dZ5rKxRqKiRJs8MkcssSlashgeeqqEEqualeeqqEEqual","type":"audio","duration":"00:30:42"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_05_05_BEATRICE_CENCI","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=Oa8dZ5rKxRqKiRJs8MkcssSlashgeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-05-05-BEATRICE-CENCI-a78de42e-434e-4d37-b43d-134cca49c3db.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-05-05-BEATRICE-CENCI-a78de42e-434e-4d37-b43d-134cca49c3db.json","literal_publication_date":"05 Mag 2002","literal_duration":"30 min","duration_small_format":"30:42","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-a78de42e-434e-4d37-b43d-134cca49c3db","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_05_05_beatrice_cenci","channel":"rai radio 3","date":"2002-05-05","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"3","episode_title":"3. beatrice cenci","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 3. beatrice cenci - ContentItem-a78de42e-434e-4d37-b43d-134cca49c3db","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-05-05-BEATRICE-CENCI-a78de42e-434e-4d37-b43d-134cca49c3db.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-b9ff640d-7c11-4bef-960d-2bf345bd56bd","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La_Storia_in_Giallo_2002_05_05_JACK_LO_SQUARTATORE","toptitle":"4. Jack lo squartatore","subtitle":"La storia in giallo","channel":{},"description":"All'alba di venerdì 31 agosto 1888, a Whitechapel, Londra, una donna viene trucidata. Era una prostituta di 41 anni. Con questa morte ha inizio un periodo di terrore in tutta la città quello di Jack the Ripper, ovvero Jack lo squartatore. Per molto tempo, voci mai confermate attribuirono i delitti al duca di Clarence, nipote della regina Vittoria, che venne ad un certo punto internato in un manicomio. Comunque, a tutt'oggi, Jack non ha un nome e tutte le domeniche viene organizzato, alle 19.30 in punto, un giro turistico per l'East End, per visitare i luoghi del delitto e - chissà - anche nella vaga speranza di trovarlo. La drammatica vicenda ebbe comunque il merito di portare l'attenzione di filantropi e politici su questa zona degradata della città e di migliorarne considerevolmente le condizioni. La trasmissione ricostruisce con un breve sceneggiato - arricchito dai giornali d'epoca e dalle lettere di Jack alla polizia -la vicenda, ed è seguita da un dibattito in cui l'autrice del programma Antonella Ferrera analizza il caso con la giallista Danila Comastri Montanari e lo psichiatra Piero Rocchini. La voce di Jack è di Cesare Barbetti, accanto a lui Paolo Ferrari ed Alfredo Pea. ","episode_title":"4. Jack lo squartatore","episode":"4","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_05_05_JACK_LO_SQUARTATORE","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yHxBWSOlKOiJmAXHkwPb2weeqqEEqualeeqqEEqual","type":"audio","duration":"00:31:30"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_05_05_JACK_LO_SQUARTATORE","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yHxBWSOlKOiJmAXHkwPb2weeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-05-05-JACK-LO-SQUARTATORE-b9ff640d-7c11-4bef-960d-2bf345bd56bd.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-05-05-JACK-LO-SQUARTATORE-b9ff640d-7c11-4bef-960d-2bf345bd56bd.json","literal_publication_date":"05 Mag 2002","literal_duration":"31 min","duration_small_format":"31:30","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-b9ff640d-7c11-4bef-960d-2bf345bd56bd","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_05_05_jack_lo_squartatore","channel":"rai radio 3","date":"2002-05-05","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"4","episode_title":"4. jack lo squartatore","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 4. jack lo squartatore - ContentItem-b9ff640d-7c11-4bef-960d-2bf345bd56bd","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-05-05-JACK-LO-SQUARTATORE-b9ff640d-7c11-4bef-960d-2bf345bd56bd.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-a3324546-2e85-48c5-91e1-16e06566e6dc","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La_Storia_in_Giallo_2002_05_19_ABRAMO_LINCOLN","toptitle":"5. Abramo Lincoln","subtitle":"La storia in giallo","channel":{},"description":"La sera del 14 aprile 1865 il presidente degli Stati Uniti d'America, Abramo Lincoln, si reca a teatro: un sudista e attore fallito di nome Booth, lo uccide con un colpo di pistola. Con Ivo Garrani nella ricostruzione sceneggiata. La vicenda è seguita da un dibattito cui partecipano lo psichiatra e criminologo Piero Rocchini e Daniele Fiorentino, esperto di storia americana, intervistati dall'autrice Antonella Ferrera.","episode_title":"5. Abramo Lincoln","episode":"5","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_05_19_ABRAMO_LINCOLN","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=nNz3YyPGaPJK83Hj2vHPnAeeqqEEqualeeqqEEqual","type":"audio","duration":"00:28:03"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_05_19_ABRAMO_LINCOLN","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=nNz3YyPGaPJK83Hj2vHPnAeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-05-19-ABRAMO-LINCOLN-a3324546-2e85-48c5-91e1-16e06566e6dc.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-05-19-ABRAMO-LINCOLN-a3324546-2e85-48c5-91e1-16e06566e6dc.json","literal_publication_date":"19 Mag 2002","literal_duration":"28 min","duration_small_format":"28:03","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-a3324546-2e85-48c5-91e1-16e06566e6dc","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_05_19_abramo_lincoln","channel":"rai radio 3","date":"2002-05-19","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"5","episode_title":"5. abramo lincoln","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 5. abramo lincoln - ContentItem-a3324546-2e85-48c5-91e1-16e06566e6dc","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-05-19-ABRAMO-LINCOLN-a3324546-2e85-48c5-91e1-16e06566e6dc.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-87f0b52f-bb18-4ea8-8eb8-a8679cfe0029","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La_Storia_in_Giallo_2002_05_26_KASPAR_HAUSER","toptitle":"6. Kaspar Hauser","subtitle":"La storia in giallo","channel":{},"description":"Nel 1828, a Norimberga, compare uno strano ragazzo, dice di essere vissuto recluso dal mondo fino a quel momento: un idiota o un impostore? C'è addirittura chi lo dice erede al trono. Ma il suo assassinio, altrettanto misterioso, impedirà di conoscerne mai la verità. Con Alfredo Pea nella parte di Kaspar Hauser. La vicenda è seguita da un dibattito curato dall'autrice Antonella Ferrera cui partecipano lo psichiatra e criminologo Piero Rocchini e Ursula Bavai, docente di letteratura tedesca. ","episode_title":"6. Kaspar Hauser","episode":"6","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_05_26_KASPAR_HAUSER","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=9fcmbEUIwTuf6ddbqsdk9geeqqEEqualeeqqEEqual","type":"audio","duration":"00:29:56"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_05_26_KASPAR_HAUSER","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=9fcmbEUIwTuf6ddbqsdk9geeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-05-26-KASPAR-HAUSER-87f0b52f-bb18-4ea8-8eb8-a8679cfe0029.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-05-26-KASPAR-HAUSER-87f0b52f-bb18-4ea8-8eb8-a8679cfe0029.json","literal_publication_date":"26 Mag 2002","literal_duration":"29 min","duration_small_format":"29:56","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-87f0b52f-bb18-4ea8-8eb8-a8679cfe0029","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_05_26_kaspar_hauser","channel":"rai radio 3","date":"2002-05-26","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"6","episode_title":"6. kaspar hauser","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 6. kaspar hauser - ContentItem-87f0b52f-bb18-4ea8-8eb8-a8679cfe0029","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-05-26-KASPAR-HAUSER-87f0b52f-bb18-4ea8-8eb8-a8679cfe0029.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-3515d656-81f2-47bc-b1bf-b80e4d982310","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La_Storia_in_Giallo_2002_06_02_LEONARDA_CIANCIULLI","toptitle":"7. Leonarda Cianciulli","subtitle":"La storia in giallo","channel":{},"description":"Una storia del 1946 questa della \"saponificatrice\". Ma uccideva le sue vittime per interesse o per mistica follia? Pensare che questa donna, che faceva a pezzi con la scure le sue vittime prima di bollirle, era piccola, dalle unghie curate e dagli impeccabili ricciolini. Con Anna Melato nel ruolo della protagonista. La vicenda è seguita da un dibattito in cui l'autrice Antonella Ferrera analizza il caso con lo psichiatra e criminologo Piero Rocchini. ","episode_title":"7. Leonarda Cianciulli","episode":"7","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_06_02_LEONARDA_CIANCIULLI","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=Hkiw8C9VwiLJCFuQIXfupweeqqEEqualeeqqEEqual","type":"audio","duration":"00:28:24"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_06_02_LEONARDA_CIANCIULLI","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=Hkiw8C9VwiLJCFuQIXfupweeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-06-02-LEONARDA-CIANCIULLI-3515d656-81f2-47bc-b1bf-b80e4d982310.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-06-02-LEONARDA-CIANCIULLI-3515d656-81f2-47bc-b1bf-b80e4d982310.json","literal_publication_date":"02 Giu 2002","literal_duration":"28 min","duration_small_format":"28:24","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-3515d656-81f2-47bc-b1bf-b80e4d982310","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_06_02_leonarda_cianciulli","channel":"rai radio 3","date":"2002-06-02","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"7","episode_title":"7. leonarda cianciulli","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 7. leonarda cianciulli - ContentItem-3515d656-81f2-47bc-b1bf-b80e4d982310","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-06-02-LEONARDA-CIANCIULLI-3515d656-81f2-47bc-b1bf-b80e4d982310.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-98e6c7c5-4cda-4c7a-9b33-ec711cb3d8cd","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La_Storia_in_Giallo_2002_06_09_LA_CONTESSA_BATHORY","toptitle":"8. La contessa Bathory","subtitle":"La storia in giallo","channel":{},"description":"Nell'Ungheria del 500 si svolge la vicenda che ha per protagonista la Contessa Bathory. Ossessionata dal timore di perdere la sua straordinaria bellezza, la contessa è convinta di poterla conservare solo bagnandosi nel sangue di fanciulle belle ed aristocratiche. Entrerà nella leggenda come \"la vampira\", anche se recenti studi sostengono che la leggenda sulla contessa Bathory fu creata ad arte perché le fossero tolte le sue enormi ricchezze. Nella fiction radiofonica Ludovica Modugno interpreta il ruolo di Erszebet Bathory. Alla ricostruzione sceneggiata fa seguito la consueta intervista di Antonella Ferrera cui partecipano il regista Giorgio Presburger e Gianni Pilo, direttore della collana del fantastico della Newton&Compton. ","episode_title":"8. La contessa Bathory","episode":"8","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_06_09_LA_CONTESSA_BATHORY","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=8n5lHUeTzXSQV2y8DqCypPpPlussAeeqqEEqualeeqqEEqual","type":"audio","duration":"00:27:43"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_06_09_LA_CONTESSA_BATHORY","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=8n5lHUeTzXSQV2y8DqCypPpPlussAeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-06-09-LA-CONTESSA-BATHORY-98e6c7c5-4cda-4c7a-9b33-ec711cb3d8cd.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-06-09-LA-CONTESSA-BATHORY-98e6c7c5-4cda-4c7a-9b33-ec711cb3d8cd.json","literal_publication_date":"09 Giu 2002","literal_duration":"27 min","duration_small_format":"27:43","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-98e6c7c5-4cda-4c7a-9b33-ec711cb3d8cd","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_06_09_la_contessa_bathory","channel":"rai radio 3","date":"2002-06-09","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"8","episode_title":"8. la contessa bathory","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 8. la contessa bathory - ContentItem-98e6c7c5-4cda-4c7a-9b33-ec711cb3d8cd","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-06-09-LA-CONTESSA-BATHORY-98e6c7c5-4cda-4c7a-9b33-ec711cb3d8cd.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-1deffd73-b121-42e3-bd17-c2612f00365e","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La_Storia_in_Giallo_2002_06_16_CONCINO_CONCINI","toptitle":"9. Concino Concini","subtitle":"La storia in giallo","channel":{},"description":"Nella Francia del '600, alla corte di Maria dei Medici, cresce a dismisura la fortuna del suo consigliere e, forse amante, Concino Concini. Ma il giovane re non perdonerà al fiorentino tanta arroganza e fortuna e lo farà pugnalare. Il ruolo del protagonista è interpretato da Paolo Ferrari. La vicenda è seguita da un dibattito curato da Antonella Ferrera cui partecipano Marina D'Amelia, storica, e Mimmo De Masi, sociologo. ","episode_title":"9. Concino Concini","episode":"9","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_06_16_CONCINO_CONCINI","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yVpWLxIXkqllt7wvAJb5yQeeqqEEqualeeqqEEqual","type":"audio","duration":"00:29:24"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_06_16_CONCINO_CONCINI","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yVpWLxIXkqllt7wvAJb5yQeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-06-16-CONCINO-CONCINI-1deffd73-b121-42e3-bd17-c2612f00365e.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-06-16-CONCINO-CONCINI-1deffd73-b121-42e3-bd17-c2612f00365e.json","literal_publication_date":"16 Giu 2002","literal_duration":"29 min","duration_small_format":"29:24","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-1deffd73-b121-42e3-bd17-c2612f00365e","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_06_16_concino_concini","channel":"rai radio 3","date":"2002-06-16","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"9","episode_title":"9. concino concini","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 9. concino concini - ContentItem-1deffd73-b121-42e3-bd17-c2612f00365e","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-06-16-CONCINO-CONCINI-1deffd73-b121-42e3-bd17-c2612f00365e.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-d3f15a85-8801-4685-a483-4bb13326312a","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:31","title":"La_Storia_in_Giallo_2002_06_23_MAYERLING","toptitle":"10. Il caso Mayerling","subtitle":"La storia in giallo","channel":{},"description":"La romantica storia dell'amore fra la giovanissima Mary e l'arciduca Rodolfo d'Asburgo, conclusasi con un doppio suicidio, forse non fu così romantica. E forse non fu neanche un suicidio. Si trattò probabilmente di un omicidio a sfondo politico. Con Cristina Boraschi nella parte di Mary. La vicenda è seguita da un dibattito curato dall'autrice Antonella Ferrera cui partecipano Ursula Bavai, docente di letteratura tedesca ed il regista Giorgio Presburger in collegamento da Budapest. ","episode_title":"10. Il caso Mayerling","episode":"10","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_06_23_MAYERLING","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=LvpvH5xGxssSlashdIBWQo1GZAvAeeqqEEqualeeqqEEqual","type":"audio","duration":"00:28:49"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_06_23_MAYERLING","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=LvpvH5xGxssSlashdIBWQo1GZAvAeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-06-23-MAYERLING-d3f15a85-8801-4685-a483-4bb13326312a.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-06-23-MAYERLING-d3f15a85-8801-4685-a483-4bb13326312a.json","literal_publication_date":"23 Giu 2002","literal_duration":"28 min","duration_small_format":"28:49","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-d3f15a85-8801-4685-a483-4bb13326312a","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_06_23_mayerling","channel":"rai radio 3","date":"2002-06-23","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"10","episode_title":"10. il caso mayerling","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 10. il caso mayerling - ContentItem-d3f15a85-8801-4685-a483-4bb13326312a","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-06-23-MAYERLING-d3f15a85-8801-4685-a483-4bb13326312a.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-5f543eee-84c7-42b1-a95d-26b8d083c54d","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"11:00","title":"La_Storia_in_Giallo_2002_09_22_GILLES_DE_RAIS","toptitle":"11. Gilles de Rais/Barbablù ","subtitle":"La storia in giallo","channel":{},"description":"Francia 1440. Viene arrestato il barone Gilles de Rais, con l'accusa di stregoneria, pedofilia ed omicidio. Gilles è un uomo ricchissimo, colto, un guerriero valoroso che ha combattuto a fianco di Giovanna d'Arco. Eppure le accuse, per sua stessa ammissione, si riveleranno fondate, dal momento che ha sodomizzato ed ucciso nel suo castello centinaia di bambini. Nell'immaginario popolare, i fanciulli si trasformeranno in mogli, e ne nascerà la favola di Barbablù raccolta da Charles Perrault. Il programma, che vede la partecipazione dello psichiatra Piero Rocchini, intervistato da Antonella Ferrera, segna il ritorno ai microfoni di Radio Rai, dopo una lunga assenza, di uno degli attori più acclamati del nostro teatro: Gabriele Lavia nella parte di Gilles de Rais. ","episode_title":"11. Gilles de Rais/Barbablù ","episode":"11","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_09_22_GILLES_DE_RAIS","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=nmpPpPlussO5sIMA0IOW1pek8lWaAeeqqEEqualeeqqEEqual","type":"audio","duration":"00:30:31"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_09_22_GILLES_DE_RAIS","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=nmpPpPlussO5sIMA0IOW1pek8lWaAeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-09-22-GILLES-DE-RAIS-5f543eee-84c7-42b1-a95d-26b8d083c54d.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-09-22-GILLES-DE-RAIS-5f543eee-84c7-42b1-a95d-26b8d083c54d.json","literal_publication_date":"22 Set 2002","literal_duration":"30 min","duration_small_format":"30:31","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-5f543eee-84c7-42b1-a95d-26b8d083c54d","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_09_22_gilles_de_rais","channel":"rai radio 3","date":"2002-09-22","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"11","episode_title":"11. gilles de rais/barbablù ","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 11. gilles de rais/barbablù - ContentItem-5f543eee-84c7-42b1-a95d-26b8d083c54d","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-09-22-GILLES-DE-RAIS-5f543eee-84c7-42b1-a95d-26b8d083c54d.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-59cfc17e-b860-4065-bdd2-ecc2849937d2","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"11:00","title":"La_Storia_in_Giallo_2002_09_29_POMPEO","toptitle":"12. Pompeo","subtitle":"La storia in giallo","channel":{},"description":"Il 29 settembre del 48 a .C., il generale Pompeo viene ucciso a tradimento mentre si trova in Egitto, ed il suo capo mozzo viene regalato al rivale Giulio Cesare. L'ex triunviro aveva compiuto il giorno prima,59 anni. Il programma, che ricostruisce quel momento affascinante e complesso della storia, è come di consueto composto da una parte sceneggiata - con la voce di Gabriele Lavia - ed un dibattito volto a leggere in chiave contemporanea il personaggio. In studio assieme all' autrice Antonella Ferrera, il generale Pier Luigi Caligaris e lo psichiatra Piero Rocchini. ","episode_title":"12. Pompeo","episode":"12","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_09_29_POMPEO","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=Udy1D57wdu3G0a0oNARexgeeqqEEqualeeqqEEqual","type":"audio","duration":"00:31:30"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_09_29_POMPEO","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=Udy1D57wdu3G0a0oNARexgeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-09-29-POMPEO-59cfc17e-b860-4065-bdd2-ecc2849937d2.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-09-29-POMPEO-59cfc17e-b860-4065-bdd2-ecc2849937d2.json","literal_publication_date":"29 Set 2002","literal_duration":"31 min","duration_small_format":"31:30","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-59cfc17e-b860-4065-bdd2-ecc2849937d2","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_09_29_pompeo","channel":"rai radio 3","date":"2002-09-29","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"12","episode_title":"12. pompeo","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 12. pompeo - ContentItem-59cfc17e-b860-4065-bdd2-ecc2849937d2","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-09-29-POMPEO-59cfc17e-b860-4065-bdd2-ecc2849937d2.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-f66dfda1-e7a9-4fc3-ab83-f50a846b5aea","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"11:00","title":"La_Storia_in_Giallo_2002_10_06_MICHELANGELO_DA_CARAVAGGIO","toptitle":"13. Michelangelo da Caravaggio ","subtitle":"La storia in giallo","channel":{},"description":"Il 10 luglio del 1610, all'età di 40 anni, muore, forse di malaria, Michelangelo da Caravaggio, il pittore scandalo, l'artista del XVII secolo più amato nei tempi moderni. Una morte di cui spesso si è parlato e si parla, il più delle volte con gravi inesattezze. Anche in questo caso l'autrice Antonella Ferrera ha scritto i testi avvalendosi di documenti originali, cui dà voce Gabriele Lavia. In studio, in compagnia di Antonella Ferrera, lo psichiatra e criminologo Piero Rocchini. ","episode_title":"13. Michelangelo da Caravaggio ","episode":"13","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_10_06_MICHELANGELO_DA_CARAVAGGIO","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=6nCrJpssSlashzJ7qXgxssSlashyi5DrbgeeqqEEqualeeqqEEqual","type":"audio","duration":"00:29:40"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_10_06_MICHELANGELO_DA_CARAVAGGIO","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=6nCrJpssSlashzJ7qXgxssSlashyi5DrbgeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-10-06-MICHELANGELO-DA-CARAVAGGIO-f66dfda1-e7a9-4fc3-ab83-f50a846b5aea.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-10-06-MICHELANGELO-DA-CARAVAGGIO-f66dfda1-e7a9-4fc3-ab83-f50a846b5aea.json","literal_publication_date":"06 Ott 2002","literal_duration":"29 min","duration_small_format":"29:40","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-f66dfda1-e7a9-4fc3-ab83-f50a846b5aea","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_10_06_michelangelo_da_caravaggio","channel":"rai radio 3","date":"2002-10-06","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"13","episode_title":"13. michelangelo da caravaggio ","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 13. michelangelo da caravaggio - ContentItem-f66dfda1-e7a9-4fc3-ab83-f50a846b5aea","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-10-06-MICHELANGELO-DA-CARAVAGGIO-f66dfda1-e7a9-4fc3-ab83-f50a846b5aea.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-e42baeb7-ed1b-4138-94da-f722264f724d","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:59","title":"La_Storia_in_Giallo_2002_10_13_ALEKSANDR_PUSKIN","toptitle":"14. Aleksandr Puskin ","subtitle":"La storia in giallo","channel":{},"description":"Aleksandr Puskin, grande poeta e narratore russo, autore di \"Eugenio Oneghin\", \"Boris Godunov\", \"La figlia del capitano\", muore a Mosca il 29 gennaio del 1837 per le ferite riportate in duello. Un duello che aveva voluto lui, sfidando un francese, presunto amante di sua moglie, la bellissima Natalia, ma un adulterio che era stato Puskin stesso a volere. Questa puntata segna il debutto radiofonico di Giulio Scarpati, l'attore divenuto popolare in TV con \"Un medico in famiglia\" ed in teatro con \"L'idiota\" di Dostojewsky. Scarpati protagonista di altri due episodi della serie radiofonica di Antonella Ferrera. Oltre ad interpretare il ruolo grande scrittore russo Aleksandr Puskin, sarà anche il fisico Ettore Majorana, e lo psicanalista Tausk, allievo odiato-amato di Sigmund Freud. Nel dibattito, a cura di Antonella Ferrera, interviene lo psichiatra Piero Rocchini. ","episode_title":"14. Aleksandr Puskin ","episode":"14","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_10_13_ALEKSANDR_PUSKIN","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=OIHlMnBfbxM7ttMZPQdk7QeeqqEEqualeeqqEEqual","type":"audio","duration":"00:30:09"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_10_13_ALEKSANDR_PUSKIN","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=OIHlMnBfbxM7ttMZPQdk7QeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-10-13-ALEKSANDR-PUSKIN-e42baeb7-ed1b-4138-94da-f722264f724d.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-10-13-ALEKSANDR-PUSKIN-e42baeb7-ed1b-4138-94da-f722264f724d.json","literal_publication_date":"13 Ott 2002","literal_duration":"30 min","duration_small_format":"30:09","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-e42baeb7-ed1b-4138-94da-f722264f724d","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_10_13_aleksandr_puskin","channel":"rai radio 3","date":"2002-10-13","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"14","episode_title":"14. aleksandr puskin ","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 14. aleksandr puskin - ContentItem-e42baeb7-ed1b-4138-94da-f722264f724d","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-10-13-ALEKSANDR-PUSKIN-e42baeb7-ed1b-4138-94da-f722264f724d.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-38829615-2685-45e7-adb2-fab9db161a8a","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"11:00","title":"La_Storia_in_Giallo_2002_10_20_LA_MONACA_DI_MONZA","toptitle":"15. La Monaca di Monza","subtitle":"La storia in giallo","channel":{},"description":"Alessandro Manzoni, nel creare la Monaca di Monza, uno dei personaggi più famosi dei Promessi Sposi, si rifece ad un personaggio realmente esistito, la nobile Virginia de Leyva, che all'inizio del 600 aveva trascorso ben 14 anni in cella per scontare i reati di cui si era macchiata, omicidio compreso, delitti a cui l'aveva spinta il suo amante, il bellissimo Paolo Osio. Nella ricostruzione della doppia storia, accanto alle pagine del Manzoni lette da Gabriele Lavia, non mancano i documenti d'epoca e citazioni dal dramma di Giovanni Testori recitate da Loredana Martinez ed Alfredo Pea, con Francesca Muzio e Luca Dalla Bianca. Al dibattito che segue lo sceneggiato l'autrice Antonella Ferrera intervista lo psichiatra Piero Rocchini e Liliana Madeo, autrice del libro \"Donne cattive\". ","episode_title":"15. La Monaca di Monza","episode":"15","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_10_20_LA_MONACA_DI_MONZA","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=I5mZdU4ovjRwmjo9YxwKdQeeqqEEqualeeqqEEqual","type":"audio","duration":"00:29:30"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_10_20_LA_MONACA_DI_MONZA","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=I5mZdU4ovjRwmjo9YxwKdQeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-10-20-LA-MONACA-DI-MONZA-38829615-2685-45e7-adb2-fab9db161a8a.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-10-20-LA-MONACA-DI-MONZA-38829615-2685-45e7-adb2-fab9db161a8a.json","literal_publication_date":"20 Ott 2002","literal_duration":"29 min","duration_small_format":"29:30","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-38829615-2685-45e7-adb2-fab9db161a8a","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_10_20_la_monaca_di_monza","channel":"rai radio 3","date":"2002-10-20","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"15","episode_title":"15. la monaca di monza","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 15. la monaca di monza - ContentItem-38829615-2685-45e7-adb2-fab9db161a8a","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-10-20-LA-MONACA-DI-MONZA-38829615-2685-45e7-adb2-fab9db161a8a.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-4a6fb299-91dc-4e76-9c9e-aae6ae3ba37a","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"11:00","title":"La_Storia_in_Giallo_2002_10_27_ETTORE_MAJORANA","toptitle":"16. Ettore Majorana ","subtitle":"La storia in giallo","channel":{},"description":"L'azione si svolge in Italia, nel marzo del 1938. Il fisico Ettore Majorana, 31 anni, forse lo scienziato più promettente del gruppo di via Panisperna, scompare, dopo aver lasciato due brevi ed enigmatiche lettere, una alla famiglia, l'altra all'Università. Di lui non verranno mai ritrovate tracce, nonostante le ricerche siano condotte per le vie ufficiali (\"Voglio che si trovi\" scrisse di suo pugno Mussolini) che private. Accanto a Giulio Scarpati, nella parte di Majorana, le voci di Francesca Muzio, Mirella Falco, Alfredo Pea, Loredana Martinez, Luca Dalla Bianca. Al dibattito curato da Antonella Ferrera intervengono lo psichiatra Piero Rocchini ed il Professor Amaldi, figlio di quello stesso Amaldi che, all'interno dello storico gruppo creatosi attorno ad Enrico Fermi, meglio conosceva lo scienziato scomparso. ","episode_title":"16. Ettore Majorana ","episode":"16","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_10_27_ETTORE_MAJORANA","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yBh8ssSlash4p5pAXssSlash4SsPQDo6qgeeqqEEqualeeqqEEqual","type":"audio","duration":"00:29:16"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_10_27_ETTORE_MAJORANA","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yBh8ssSlash4p5pAXssSlash4SsPQDo6qgeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-10-27-ETTORE-MAJORANA-4a6fb299-91dc-4e76-9c9e-aae6ae3ba37a.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-10-27-ETTORE-MAJORANA-4a6fb299-91dc-4e76-9c9e-aae6ae3ba37a.json","literal_publication_date":"27 Ott 2002","literal_duration":"29 min","duration_small_format":"29:16","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-4a6fb299-91dc-4e76-9c9e-aae6ae3ba37a","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_10_27_ettore_majorana","channel":"rai radio 3","date":"2002-10-27","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"16","episode_title":"16. ettore majorana ","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 16. ettore majorana - ContentItem-4a6fb299-91dc-4e76-9c9e-aae6ae3ba37a","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-10-27-ETTORE-MAJORANA-4a6fb299-91dc-4e76-9c9e-aae6ae3ba37a.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-60b77d41-dab1-45fe-8a0f-b2cd45d578c1","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:59","title":"La_Storia_in_Giallo_2002_11_03_CHARLOTTE_CORDAY","toptitle":"17. Charlotte Corday – Marat ","subtitle":"La storia in giallo","channel":{},"description":"Il 13 luglio è al Palais Royal, acquista un capello nero a nastrini verdi per non dare nell'occhio e un coltello da cucina con una lama di dodici centimetri. Quando entra nella stanza, Marat è nel bagno, disteso in una tinozza, Charlotte gioca con lui e con la sua morbosa passione cospirativa, elencandogli una falsa lista di traditori, poi, improvvisamente si alza dalla sedia e sferra un colpo fatale sotto la clavicola, sul fianco destro della vittima squarciandogli la carotide. Dopo la ricostruzione sceneggiata Antonella Ferrera intervista Roberto Olla, autore di documentari storici per la Rai ed il criminologo Piero Rocchini. ","episode_title":"17. Charlotte Corday – Marat ","episode":"17","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_11_03_CHARLOTTE_CORDAY","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=uk5SpPpPlussYzLq3nqPI7BVmFlRgeeqqEEqualeeqqEEqual","type":"audio","duration":"00:28:02"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_11_03_CHARLOTTE_CORDAY","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=uk5SpPpPlussYzLq3nqPI7BVmFlRgeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-11-03-CHARLOTTE-CORDAY-60b77d41-dab1-45fe-8a0f-b2cd45d578c1.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-11-03-CHARLOTTE-CORDAY-60b77d41-dab1-45fe-8a0f-b2cd45d578c1.json","literal_publication_date":"03 Nov 2002","literal_duration":"28 min","duration_small_format":"28:02","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-60b77d41-dab1-45fe-8a0f-b2cd45d578c1","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_11_03_charlotte_corday","channel":"rai radio 3","date":"2002-11-03","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"17","episode_title":"17. charlotte corday – marat ","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 17. charlotte corday – marat - ContentItem-60b77d41-dab1-45fe-8a0f-b2cd45d578c1","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-11-03-CHARLOTTE-CORDAY-60b77d41-dab1-45fe-8a0f-b2cd45d578c1.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-56e4f4e4-05fe-490d-bdcf-58988744f3f2","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:59","title":"La_Storia_in_Giallo_2002_11_10_VICTOR_TAUSK","toptitle":"18. Victor Tausk","subtitle":"La storia in giallo","channel":{},"description":"Il 3 luglio del 1919 si suicida a Vienna, Victor Tausk, psicanalista, allievo amato-odiato di Sigmund Freud, ed ex amante della leggendaria Lou Andreas-Salomé. Bello, intelligente, inquieto, giovane, Tausk sembra pagare con la vita l'impossibilità di trovare un equilibrio e il duro scontro con il maestro Freud, che, se in pubblico avrà parole di cordoglio per la perdita dell'allievo, in privato scriverà: \"devo confessare di non sentire veramente la mancanza di Tausk; già da tempo l'avevo giudicato inutile\". Tausk è interpretato da Giulio Scarpati. Accanto a lui Francesca Muzio, Alfredo Pea, Loredana Martinez, Luca Dalla Bianca. Al dibattito partecipa lo psichiatra Piero Rocchini, intervistato dall'autrice Antonella Ferrera. ","episode_title":"18. Victor Tausk","episode":"18","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_11_10_VICTOR_TAUSK","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yYIQessSlashrwtTDUQrmA3rNpPpPlussKweeqqEEqualeeqqEEqual","type":"audio","duration":"00:28:01"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_11_10_VICTOR_TAUSK","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yYIQessSlashrwtTDUQrmA3rNpPpPlussKweeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-11-10-VICTOR-TAUSK-56e4f4e4-05fe-490d-bdcf-58988744f3f2.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-11-10-VICTOR-TAUSK-56e4f4e4-05fe-490d-bdcf-58988744f3f2.json","literal_publication_date":"10 Nov 2002","literal_duration":"28 min","duration_small_format":"28:01","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-56e4f4e4-05fe-490d-bdcf-58988744f3f2","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_11_10_victor_tausk","channel":"rai radio 3","date":"2002-11-10","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"18","episode_title":"18. victor tausk","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 18. victor tausk - ContentItem-56e4f4e4-05fe-490d-bdcf-58988744f3f2","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-11-10-VICTOR-TAUSK-56e4f4e4-05fe-490d-bdcf-58988744f3f2.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-4731e479-780d-4031-8620-7b038bf98d29","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"11:00","title":"La_Storia_in_Giallo_2002_11_24_LUCREZIA_BORGIA","toptitle":"19. Lucrezia Borgia - Alfonso d'Aragona ","subtitle":"La storia in giallo","channel":{},"description":"È Lucrezia Borgia la vera protagonista di questa puntata, anche se il delitto di cui ci occupiamo è quello del suo secondo marito, l'amato Alfonso d'Aragona, ucciso dal Valentino nell'anno 1500. Figlia di un Papa, bella, intelligente, raffinata, ed al tempo stesso accusata di incesto, intrighi, avvelenamenti, la sua figura rimane ancora uno dei grandi enigmi della storia. Le dà voce Loredana Martinez, in una puntata narrata da Walter Maestosi e Daniela Barra, mentre al dibattito, curato dall'autrice del programma, Antonella Ferrera, intervengono lo psichiatra Piero Rocchini e la scrittrice Liliana Madeo. ","episode_title":"19. Lucrezia Borgia - Alfonso d'Aragona ","episode":"19","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_11_24_LUCREZIA_BORGIA","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=9dnsKC1N5uDSS9i6j9vHQAeeqqEEqualeeqqEEqual","type":"audio","duration":"00:30:06"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_11_24_LUCREZIA_BORGIA","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=9dnsKC1N5uDSS9i6j9vHQAeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-11-24-LUCREZIA-BORGIA-4731e479-780d-4031-8620-7b038bf98d29.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-11-24-LUCREZIA-BORGIA-4731e479-780d-4031-8620-7b038bf98d29.json","literal_publication_date":"24 Nov 2002","literal_duration":"30 min","duration_small_format":"30:06","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-4731e479-780d-4031-8620-7b038bf98d29","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_11_24_lucrezia_borgia","channel":"rai radio 3","date":"2002-11-24","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"19","episode_title":"19. lucrezia borgia - alfonso d'aragona ","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 19. lucrezia borgia - alfonso d'aragona - ContentItem-4731e479-780d-4031-8620-7b038bf98d29","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-11-24-LUCREZIA-BORGIA-4731e479-780d-4031-8620-7b038bf98d29.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-0849c543-3c75-436d-be64-9547141eaf79","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"11:00","title":"La_Storia_in_Giallo_2002_12_01_RASPUTIN","toptitle":"20. Rasputin","subtitle":"La storia in giallo","channel":{},"description":"La notte del 19 dicembre 1916, un cadavere affiora tra l'acqua ed il ghiaccio di un canale di Pietrogrado. La gente lo riconosce, urla al miracolo, corre a riempire secchi e fiasche con l'acqua miracolosa, perché si tratta del misterioso Rasputin, l'eminenza grigia della corte degli Zar, l'uomo che nonostante il veleno, le pugnalate, i colpi di pistola, l'assideramento, lotta ancora nell'acqua ghiacciata per liberare le mani dalle corde. Il ruolo del protagonista è di Paolo Lombardi, l'attore senese che per tanti anni è stato la voce italiana di Alfred Hitchcock. Segue un'intervista di Antonella Ferrera al giornalista Renzo Foa che vede il personaggio di Rasputin con gli occhi del presente, fuori della leggenda. ","episode_title":"20. Rasputin","episode":"20","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_12_01_RASPUTIN","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=esexSWiPJJwWIpPpPlussQCYoPFZAeeqqEEqualeeqqEEqual","type":"audio","duration":"00:30:00"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_12_01_RASPUTIN","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=esexSWiPJJwWIpPpPlussQCYoPFZAeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-12-01-RASPUTIN-0849c543-3c75-436d-be64-9547141eaf79.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-12-01-RASPUTIN-0849c543-3c75-436d-be64-9547141eaf79.json","literal_publication_date":"01 Dic 2002","literal_duration":"30 min","duration_small_format":"30:00","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-0849c543-3c75-436d-be64-9547141eaf79","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_12_01_rasputin","channel":"rai radio 3","date":"2002-12-01","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"20","episode_title":"20. rasputin","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 20. rasputin - ContentItem-0849c543-3c75-436d-be64-9547141eaf79","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-12-01-RASPUTIN-0849c543-3c75-436d-be64-9547141eaf79.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-68e9807e-6a68-4c9b-aa9a-d120641294a4","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"11:00","title":"La_Storia_in_Giallo_2002_12_08_AKHENATON","toptitle":"21. Akhenaton ","subtitle":"La storia in giallo","channel":{},"description":"\"La storia in giallo\" affronta questa volta il più antico dei suoi personaggi: il faraone Akhenaton. Protagonista della grande rivoluzione religiosa del Nuovo Regno, il sovrano fu il primo ad affermare ufficialmente una religione monoteista e probabilmente a pagarne lo scotto morendo assassinato, come già aveva ricostruito l'archeologo Milka Waltari in un romanzo - e poi film - di grande successo: \"Sinuhe l'egiziano\". Gli attori sono Paolo Lombardi, Francesca Gatto, Francesco Meoni. Al termine dello sceneggiato l'autrice Antonella Ferrera intervista l'archeologo e scrittore Valerio Manfredi. ","episode_title":"21. Akhenaton ","episode":"21","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_12_08_AKHENATON","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=PE3wc6etKfssSlashNKfaoXssSlashpWcgeeqqEEqualeeqqEEqual","type":"audio","duration":"00:30:04"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_12_08_AKHENATON","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=PE3wc6etKfssSlashNKfaoXssSlashpWcgeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-12-08-AKHENATON-68e9807e-6a68-4c9b-aa9a-d120641294a4.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-12-08-AKHENATON-68e9807e-6a68-4c9b-aa9a-d120641294a4.json","literal_publication_date":"08 Dic 2002","literal_duration":"30 min","duration_small_format":"30:04","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-68e9807e-6a68-4c9b-aa9a-d120641294a4","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_12_08_akhenaton","channel":"rai radio 3","date":"2002-12-08","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"21","episode_title":"21. akhenaton ","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 21. akhenaton - ContentItem-68e9807e-6a68-4c9b-aa9a-d120641294a4","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-12-08-AKHENATON-68e9807e-6a68-4c9b-aa9a-d120641294a4.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-e169f181-81a3-4b67-9631-f4a2e6e0eb9c","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:59","title":"La_Storia_in_Giallo_2002_12_15_CHARLES_MANSON","toptitle":"22. Charles Manson ","subtitle":"La storia in giallo","channel":{},"description":"Nell'estate del 1969, a Los Angeles, una banda di fanatici guidati da Charles Manson penetra nella villa del regista Roman Polanski e massacra le 5 persone che vi si trovano, compresa Sharon Tate, la giovane e bellissima moglie del regista, incinta di 8 mesi. Seguirà il più lungo processo per omicidio della storia americana, durato nove mesi e mezzo, e il più costoso, un milione di dollari. Questa puntata segna l'inizio della partecipazione di Michele Mirabella al programma. L'artista, che ha alle spalle anche una lunga carriera di attore, sarà anche Arthur Miller nel caso Marylin Monroe, e Charyl Chessman. Dopo lo sceneggiato, l'autrice Antonella Ferrera intervista lo psichiatra e scrittore Vittorino Andreoli, autore del recente best-seller \"Il lato oscuro\". Una ghost-track, una traccia nascosta da un CD dei Guns and Roses, contenente una canzone composta dallo stesso Manson, conclude la trasmissione. Manson aveva infatti ambizioni di musicista, ed era convinto di poter diventare un giorno il quinto dei Beatles. ","episode_title":"22. Charles Manson ","episode":"22","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_12_15_CHARLES_MANSON","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=XlssSlashbvRBAvSS9K4nT2sVcdgeeqqEEqualeeqqEEqual","type":"audio","duration":"00:30:24"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_12_15_CHARLES_MANSON","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=XlssSlashbvRBAvSS9K4nT2sVcdgeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-12-15-CHARLES-MANSON-e169f181-81a3-4b67-9631-f4a2e6e0eb9c.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-12-15-CHARLES-MANSON-e169f181-81a3-4b67-9631-f4a2e6e0eb9c.json","literal_publication_date":"15 Dic 2002","literal_duration":"30 min","duration_small_format":"30:24","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-e169f181-81a3-4b67-9631-f4a2e6e0eb9c","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_12_15_charles_manson","channel":"rai radio 3","date":"2002-12-15","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"22","episode_title":"22. charles manson ","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 22. charles manson - ContentItem-e169f181-81a3-4b67-9631-f4a2e6e0eb9c","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-12-15-CHARLES-MANSON-e169f181-81a3-4b67-9631-f4a2e6e0eb9c.html","nodmp":false,"origin":"Messa in onda Radio","target":""}},{"uniquename":"ContentItem-b3c65da7-da45-456a-a541-167d03373cb7","type":"RaiPlaySound Audio Item","create_date":"17-11-2023","create_time":"10:59","title":"La_Storia_in_Giallo_2002_12_22_MARYLIN_MONROE","toptitle":"23. Marilyn Monroe","subtitle":"La storia in giallo","channel":{},"description":"Il 5 agosto 1962, ad Hollywood, muore Marylin Monroe, la più bella ed amata delle attrici, forse suicida. Ma a 40 anni dalla sua scomparsa, il mistero è ancora fitto, dal momento che testimonianze, documenti, orari sono in continuo e spesso sfrontato contrasto fra loro. La trasmissione di Antonella Ferrera cerca di darci il punto attuale della situazione, ricostruendo le ultime ore di Marilyn, mentre nell'incontro con lo psichiatra Piero Rocchini, si tenta una lettura psicoanalitica della donna, oltre che della diva. Michele Mirabella dà voce allo scrittore Arthur Miller, forse il più famoso dei 4 mariti dell'attrice. ","episode_title":"23. Marilyn Monroe","episode":"23","season":null,"form":"Integrale","audio":{"title":"La_Storia_in_Giallo_2002_12_22_MARYLIN_MONROE","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=enOFDi6DPDUUINQ5fQKdZQeeqqEEqualeeqqEEqual","type":"audio","duration":"00:29:48"},"downloadable_audio":{"title":"La_Storia_in_Giallo_2002_12_22_MARYLIN_MONROE","url":"https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=enOFDi6DPDUUINQ5fQKdZQeeqqEEqualeeqqEEqual","type":"downloadable_audio"},"images":{"square":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","cover":null,"landscape":null},"image":"/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg","program":{"id":"Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","name":"La storia in giallo","pipe":"La storia in giallo|Category-5ca0f038-51e0-4ad3-9673-6d12dc91e6d6","category_path":"lastoriaingiallo","weblink":"/programmi/lastoriaingiallo","configuratore":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","contestual_page":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","path_id":"/programmi/lastoriaingiallo.json"},"weblink":"/audio/2023/11/La-Storia-in-Giallo-2002-12-22-MARYLIN-MONROE-b3c65da7-da45-456a-a541-167d03373cb7.html","path_id":"/audio/2023/11/La-Storia-in-Giallo-2002-12-22-MARYLIN-MONROE-b3c65da7-da45-456a-a541-167d03373cb7.json","literal_publication_date":"22 Dic 2002","literal_duration":"29 min","duration_small_format":"29:48","podcast_info":{"uniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe","name":"La storia in giallo","path_id":"/programmi/lastoriaingiallo.json","weblink":"/programmi/lastoriaingiallo"},"dfp":{"escaped_name":"Lastoriaingiallo","escaped_genres":[{"id":"Category-85badf42-102f-457c-a2d3-f409b5e322b4","name":"Storico"}],"escaped_typology":[{"id":"Category-200ddceb-b367-4461-8e1c-c9dd769b288d","name":"Serieaudio"}]},"poeple":[],"track_info":{"id":"ContentItem-b3c65da7-da45-456a-a541-167d03373cb7","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"audio","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"audio","sub_section":"","content":"pagina foglia","title":"la_storia_in_giallo_2002_12_22_marylin_monroe","channel":"rai radio 3","date":"2002-12-22","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"2023","season":"2023","episode_number":"23","episode_title":"23. marilyn monroe","form":"integrale","media_container":{"title":"La storia in giallo","type":"programma","contextUniquename":"ContentItem-3c3c5750-bac0-4b94-9415-87bb1dc0fcbe"},"media_name":"raiplaysound - aod - la storia in giallo - 23. marilyn monroe - ContentItem-b3c65da7-da45-456a-a541-167d03373cb7","page_url":"/audio/2023/11/La-Storia-in-Giallo-2002-12-22-MARYLIN-MONROE-b3c65da7-da45-456a-a541-167d03373cb7.html","nodmp":false,"origin":"Messa in onda Radio","target":""}}]},"actions":[{"action":"live","path_id":"/radio3.json","label":"ASCOLTA LA DIRETTA"},{"action":"play","label":"ASCOLTA","label_keepwatching":"RIPRENDI"},{"action":"episodi","label":"LISTA EPISODI","weblink":"/programmi/lastoriaingiallo","path_id":"/programmi/lastoriaingiallo.json","sub_type":"RaiPlaySound Puntate Block"},{"action":"favourite","label":"SEGUI","label_followed":"SEGUITO"},{"action":"similar","label":"CONTENUTI SIMILI"}],"track_info":{"id":"Page-427b0587-7301-48fc-a1ae-e1b75679287d","domain":"raiplaysound","platform":"[platform]","media_type":"aod","page_type":"info programma","editor":"rai radio 3","year":"2023","edit_year":"2023","section":"info programma","sub_section":"","content":"scheda programma","title":"la storia in giallo","channel":"rai radio 3","date":"2023-11-02","typology":"serie audio","genres":["storico"],"sub_genres":["radiodramma","thriller","teatro","storia moderna","storia antica","sceneggiato","storia","storia contemporanea","storico","storia medievale","giallo e crime","personaggi","mistery","storia dell'arte"],"program_title":"la storia in giallo","program_typology":"serie audio","edition":"","season":"","episode_number":"","episode_title":"","form":"","listaDateMo":[],"create_date":"02-11-2023","page_url":"/programmi/lastoriaingiallo","nodmp":false}} \ No newline at end of file diff --git a/testdata/lastoriaingiallo.parsed.json b/testdata/lastoriaingiallo.parsed.json new file mode 100644 index 0000000..f256d27 --- /dev/null +++ b/testdata/lastoriaingiallo.parsed.json @@ -0,0 +1,432 @@ +{ + "meta": { + "categories": [], + "description": "Una ricostruzione sceneggiata catapulta l'ascoltatore sulla scena del delitto, sul quale criminologi, psichiatri e storici cercano di far luce per svelarne il mistero. Delitti diversi per dinamiche, movente, ambiente, quindi delitti passionali, politici, di serial killer o delitti in famiglia. Ma anche misteri, storie di follia e tragici destini. Andato in onda su Rai Radio 3 dal 2002 al 2010, La storia in giallo è un programma ideato e condotto da Antonella Ferrera.", + "explicit": false, + "funding": [], + "generator": "Podcast for Node", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "lastBuildDate": "Wed, 17 Jan 2024 04:39:27 GMT", + "link": "http://github.com/dylang/node-rss", + "owner": { "name": "", "email": "" }, + "summary": "Una ricostruzione sceneggiata catapulta l'ascoltatore sulla scena del delitto, sul quale criminologi, psichiatri e storici cercano di far luce per svelarne il mistero. Delitti diversi per dinamiche, movente, ambiente, quindi delitti passionali, politici, di serial killer o delitti in famiglia. Ma anche misteri, storie di follia e tragici destini. Andato in onda su Rai Radio 3 dal 2002 al 2010, La storia in giallo è un programma ideato e condotto da Antonella Ferrera.", + "title": "La storia in giallo", + "value": null + }, + "episodes": [ + { + "description": "\"La storia in giallo\" affronta questa volta il più antico dei suoi personaggi: il faraone Akhenaton. Protagonista della grande rivoluzione religiosa del Nuovo Regno, il sovrano fu il primo ad affermare ufficialmente una religione monoteista e probabilmente a pagarne lo scotto morendo assassinato, come già aveva ricostruito l'archeologo Milka Waltari in un romanzo - e poi film - di grande successo: \"Sinuhe l'egiziano\". Gli attori sono Paolo Lombardi, Francesca Gatto, Francesco Meoni. Al termine dello sceneggiato l'autrice Antonella Ferrera intervista l'archeologo e scrittore Valerio Manfredi. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=PE3wc6etKfssSlashNKfaoXssSlashpWcgeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "21. Akhenaton ", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 10:00:00 GMT", + "soundbite": [], + "summary": "\"La storia in giallo\" affronta questa volta il più antico dei suoi personaggi: il faraone Akhenaton. Protagonista della grande rivoluzione religiosa del Nuovo Regno, il sovrano fu il primo ad affermare ufficialmente una religione monoteista e probabilmente a pagarne lo scotto morendo assassinato, come già aveva ricostruito l'archeologo Milka Waltari in un romanzo - e poi film - di grande successo: \"Sinuhe l'egiziano\". Gli attori sono Paolo Lombardi, Francesca Gatto, Francesco Meoni. Al termine dello sceneggiato l'autrice Antonella Ferrera intervista l'archeologo e scrittore Valerio Manfredi. ", + "title": "21. Akhenaton ", + "transcript": [], + "value": null + }, + { + "description": "La notte del 19 dicembre 1916, un cadavere affiora tra l'acqua ed il ghiaccio di un canale di Pietrogrado. La gente lo riconosce, urla al miracolo, corre a riempire secchi e fiasche con l'acqua miracolosa, perché si tratta del misterioso Rasputin, l'eminenza grigia della corte degli Zar, l'uomo che nonostante il veleno, le pugnalate, i colpi di pistola, l'assideramento, lotta ancora nell'acqua ghiacciata per liberare le mani dalle corde. Il ruolo del protagonista è di Paolo Lombardi, l'attore senese che per tanti anni è stato la voce italiana di Alfred Hitchcock. Segue un'intervista di Antonella Ferrera al giornalista Renzo Foa che vede il personaggio di Rasputin con gli occhi del presente, fuori della leggenda. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=esexSWiPJJwWIpPpPlussQCYoPFZAeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "20. Rasputin", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 10:00:00 GMT", + "soundbite": [], + "summary": "La notte del 19 dicembre 1916, un cadavere affiora tra l'acqua ed il ghiaccio di un canale di Pietrogrado. La gente lo riconosce, urla al miracolo, corre a riempire secchi e fiasche con l'acqua miracolosa, perché si tratta del misterioso Rasputin, l'eminenza grigia della corte degli Zar, l'uomo che nonostante il veleno, le pugnalate, i colpi di pistola, l'assideramento, lotta ancora nell'acqua ghiacciata per liberare le mani dalle corde. Il ruolo del protagonista è di Paolo Lombardi, l'attore senese che per tanti anni è stato la voce italiana di Alfred Hitchcock. Segue un'intervista di Antonella Ferrera al giornalista Renzo Foa che vede il personaggio di Rasputin con gli occhi del presente, fuori della leggenda. ", + "title": "20. Rasputin", + "transcript": [], + "value": null + }, + { + "description": "È Lucrezia Borgia la vera protagonista di questa puntata, anche se il delitto di cui ci occupiamo è quello del suo secondo marito, l'amato Alfonso d'Aragona, ucciso dal Valentino nell'anno 1500. Figlia di un Papa, bella, intelligente, raffinata, ed al tempo stesso accusata di incesto, intrighi, avvelenamenti, la sua figura rimane ancora uno dei grandi enigmi della storia. Le dà voce Loredana Martinez, in una puntata narrata da Walter Maestosi e Daniela Barra, mentre al dibattito, curato dall'autrice del programma, Antonella Ferrera, intervengono lo psichiatra Piero Rocchini e la scrittrice Liliana Madeo. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=9dnsKC1N5uDSS9i6j9vHQAeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "19. Lucrezia Borgia - Alfonso d'Aragona ", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 10:00:00 GMT", + "soundbite": [], + "summary": "È Lucrezia Borgia la vera protagonista di questa puntata, anche se il delitto di cui ci occupiamo è quello del suo secondo marito, l'amato Alfonso d'Aragona, ucciso dal Valentino nell'anno 1500. Figlia di un Papa, bella, intelligente, raffinata, ed al tempo stesso accusata di incesto, intrighi, avvelenamenti, la sua figura rimane ancora uno dei grandi enigmi della storia. Le dà voce Loredana Martinez, in una puntata narrata da Walter Maestosi e Daniela Barra, mentre al dibattito, curato dall'autrice del programma, Antonella Ferrera, intervengono lo psichiatra Piero Rocchini e la scrittrice Liliana Madeo. ", + "title": "19. Lucrezia Borgia - Alfonso d'Aragona ", + "transcript": [], + "value": null + }, + { + "description": "L'azione si svolge in Italia, nel marzo del 1938. Il fisico Ettore Majorana, 31 anni, forse lo scienziato più promettente del gruppo di via Panisperna, scompare, dopo aver lasciato due brevi ed enigmatiche lettere, una alla famiglia, l'altra all'Università. Di lui non verranno mai ritrovate tracce, nonostante le ricerche siano condotte per le vie ufficiali (\"Voglio che si trovi\" scrisse di suo pugno Mussolini) che private. Accanto a Giulio Scarpati, nella parte di Majorana, le voci di Francesca Muzio, Mirella Falco, Alfredo Pea, Loredana Martinez, Luca Dalla Bianca. Al dibattito curato da Antonella Ferrera intervengono lo psichiatra Piero Rocchini ed il Professor Amaldi, figlio di quello stesso Amaldi che, all'interno dello storico gruppo creatosi attorno ad Enrico Fermi, meglio conosceva lo scienziato scomparso. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yBh8ssSlash4p5pAXssSlash4SsPQDo6qgeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "16. Ettore Majorana ", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 10:00:00 GMT", + "soundbite": [], + "summary": "L'azione si svolge in Italia, nel marzo del 1938. Il fisico Ettore Majorana, 31 anni, forse lo scienziato più promettente del gruppo di via Panisperna, scompare, dopo aver lasciato due brevi ed enigmatiche lettere, una alla famiglia, l'altra all'Università. Di lui non verranno mai ritrovate tracce, nonostante le ricerche siano condotte per le vie ufficiali (\"Voglio che si trovi\" scrisse di suo pugno Mussolini) che private. Accanto a Giulio Scarpati, nella parte di Majorana, le voci di Francesca Muzio, Mirella Falco, Alfredo Pea, Loredana Martinez, Luca Dalla Bianca. Al dibattito curato da Antonella Ferrera intervengono lo psichiatra Piero Rocchini ed il Professor Amaldi, figlio di quello stesso Amaldi che, all'interno dello storico gruppo creatosi attorno ad Enrico Fermi, meglio conosceva lo scienziato scomparso. ", + "title": "16. Ettore Majorana ", + "transcript": [], + "value": null + }, + { + "description": "Alessandro Manzoni, nel creare la Monaca di Monza, uno dei personaggi più famosi dei Promessi Sposi, si rifece ad un personaggio realmente esistito, la nobile Virginia de Leyva, che all'inizio del 600 aveva trascorso ben 14 anni in cella per scontare i reati di cui si era macchiata, omicidio compreso, delitti a cui l'aveva spinta il suo amante, il bellissimo Paolo Osio. Nella ricostruzione della doppia storia, accanto alle pagine del Manzoni lette da Gabriele Lavia, non mancano i documenti d'epoca e citazioni dal dramma di Giovanni Testori recitate da Loredana Martinez ed Alfredo Pea, con Francesca Muzio e Luca Dalla Bianca. Al dibattito che segue lo sceneggiato l'autrice Antonella Ferrera intervista lo psichiatra Piero Rocchini e Liliana Madeo, autrice del libro \"Donne cattive\". ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=I5mZdU4ovjRwmjo9YxwKdQeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "15. La Monaca di Monza", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 10:00:00 GMT", + "soundbite": [], + "summary": "Alessandro Manzoni, nel creare la Monaca di Monza, uno dei personaggi più famosi dei Promessi Sposi, si rifece ad un personaggio realmente esistito, la nobile Virginia de Leyva, che all'inizio del 600 aveva trascorso ben 14 anni in cella per scontare i reati di cui si era macchiata, omicidio compreso, delitti a cui l'aveva spinta il suo amante, il bellissimo Paolo Osio. Nella ricostruzione della doppia storia, accanto alle pagine del Manzoni lette da Gabriele Lavia, non mancano i documenti d'epoca e citazioni dal dramma di Giovanni Testori recitate da Loredana Martinez ed Alfredo Pea, con Francesca Muzio e Luca Dalla Bianca. Al dibattito che segue lo sceneggiato l'autrice Antonella Ferrera intervista lo psichiatra Piero Rocchini e Liliana Madeo, autrice del libro \"Donne cattive\". ", + "title": "15. La Monaca di Monza", + "transcript": [], + "value": null + }, + { + "description": "Il 10 luglio del 1610, all'età di 40 anni, muore, forse di malaria, Michelangelo da Caravaggio, il pittore scandalo, l'artista del XVII secolo più amato nei tempi moderni. Una morte di cui spesso si è parlato e si parla, il più delle volte con gravi inesattezze. Anche in questo caso l'autrice Antonella Ferrera ha scritto i testi avvalendosi di documenti originali, cui dà voce Gabriele Lavia. In studio, in compagnia di Antonella Ferrera, lo psichiatra e criminologo Piero Rocchini. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=6nCrJpssSlashzJ7qXgxssSlashyi5DrbgeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "13. Michelangelo da Caravaggio ", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 10:00:00 GMT", + "soundbite": [], + "summary": "Il 10 luglio del 1610, all'età di 40 anni, muore, forse di malaria, Michelangelo da Caravaggio, il pittore scandalo, l'artista del XVII secolo più amato nei tempi moderni. Una morte di cui spesso si è parlato e si parla, il più delle volte con gravi inesattezze. Anche in questo caso l'autrice Antonella Ferrera ha scritto i testi avvalendosi di documenti originali, cui dà voce Gabriele Lavia. In studio, in compagnia di Antonella Ferrera, lo psichiatra e criminologo Piero Rocchini. ", + "title": "13. Michelangelo da Caravaggio ", + "transcript": [], + "value": null + }, + { + "description": "Il 29 settembre del 48 a .C., il generale Pompeo viene ucciso a tradimento mentre si trova in Egitto, ed il suo capo mozzo viene regalato al rivale Giulio Cesare. L'ex triunviro aveva compiuto il giorno prima,59 anni. Il programma, che ricostruisce quel momento affascinante e complesso della storia, è come di consueto composto da una parte sceneggiata - con la voce di Gabriele Lavia - ed un dibattito volto a leggere in chiave contemporanea il personaggio. In studio assieme all' autrice Antonella Ferrera, il generale Pier Luigi Caligaris e lo psichiatra Piero Rocchini. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=Udy1D57wdu3G0a0oNARexgeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "12. Pompeo", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 10:00:00 GMT", + "soundbite": [], + "summary": "Il 29 settembre del 48 a .C., il generale Pompeo viene ucciso a tradimento mentre si trova in Egitto, ed il suo capo mozzo viene regalato al rivale Giulio Cesare. L'ex triunviro aveva compiuto il giorno prima,59 anni. Il programma, che ricostruisce quel momento affascinante e complesso della storia, è come di consueto composto da una parte sceneggiata - con la voce di Gabriele Lavia - ed un dibattito volto a leggere in chiave contemporanea il personaggio. In studio assieme all' autrice Antonella Ferrera, il generale Pier Luigi Caligaris e lo psichiatra Piero Rocchini. ", + "title": "12. Pompeo", + "transcript": [], + "value": null + }, + { + "description": "Francia 1440. Viene arrestato il barone Gilles de Rais, con l'accusa di stregoneria, pedofilia ed omicidio. Gilles è un uomo ricchissimo, colto, un guerriero valoroso che ha combattuto a fianco di Giovanna d'Arco. Eppure le accuse, per sua stessa ammissione, si riveleranno fondate, dal momento che ha sodomizzato ed ucciso nel suo castello centinaia di bambini. Nell'immaginario popolare, i fanciulli si trasformeranno in mogli, e ne nascerà la favola di Barbablù raccolta da Charles Perrault. Il programma, che vede la partecipazione dello psichiatra Piero Rocchini, intervistato da Antonella Ferrera, segna il ritorno ai microfoni di Radio Rai, dopo una lunga assenza, di uno degli attori più acclamati del nostro teatro: Gabriele Lavia nella parte di Gilles de Rais. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=nmpPpPlussO5sIMA0IOW1pek8lWaAeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "11. Gilles de Rais/Barbablù ", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 10:00:00 GMT", + "soundbite": [], + "summary": "Francia 1440. Viene arrestato il barone Gilles de Rais, con l'accusa di stregoneria, pedofilia ed omicidio. Gilles è un uomo ricchissimo, colto, un guerriero valoroso che ha combattuto a fianco di Giovanna d'Arco. Eppure le accuse, per sua stessa ammissione, si riveleranno fondate, dal momento che ha sodomizzato ed ucciso nel suo castello centinaia di bambini. Nell'immaginario popolare, i fanciulli si trasformeranno in mogli, e ne nascerà la favola di Barbablù raccolta da Charles Perrault. Il programma, che vede la partecipazione dello psichiatra Piero Rocchini, intervistato da Antonella Ferrera, segna il ritorno ai microfoni di Radio Rai, dopo una lunga assenza, di uno degli attori più acclamati del nostro teatro: Gabriele Lavia nella parte di Gilles de Rais. ", + "title": "11. Gilles de Rais/Barbablù ", + "transcript": [], + "value": null + }, + { + "description": "Il 5 agosto 1962, ad Hollywood, muore Marylin Monroe, la più bella ed amata delle attrici, forse suicida. Ma a 40 anni dalla sua scomparsa, il mistero è ancora fitto, dal momento che testimonianze, documenti, orari sono in continuo e spesso sfrontato contrasto fra loro. La trasmissione di Antonella Ferrera cerca di darci il punto attuale della situazione, ricostruendo le ultime ore di Marilyn, mentre nell'incontro con lo psichiatra Piero Rocchini, si tenta una lettura psicoanalitica della donna, oltre che della diva. Michele Mirabella dà voce allo scrittore Arthur Miller, forse il più famoso dei 4 mariti dell'attrice. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=enOFDi6DPDUUINQ5fQKdZQeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "23. Marilyn Monroe", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:59:00 GMT", + "soundbite": [], + "summary": "Il 5 agosto 1962, ad Hollywood, muore Marylin Monroe, la più bella ed amata delle attrici, forse suicida. Ma a 40 anni dalla sua scomparsa, il mistero è ancora fitto, dal momento che testimonianze, documenti, orari sono in continuo e spesso sfrontato contrasto fra loro. La trasmissione di Antonella Ferrera cerca di darci il punto attuale della situazione, ricostruendo le ultime ore di Marilyn, mentre nell'incontro con lo psichiatra Piero Rocchini, si tenta una lettura psicoanalitica della donna, oltre che della diva. Michele Mirabella dà voce allo scrittore Arthur Miller, forse il più famoso dei 4 mariti dell'attrice. ", + "title": "23. Marilyn Monroe", + "transcript": [], + "value": null + }, + { + "description": "Nell'estate del 1969, a Los Angeles, una banda di fanatici guidati da Charles Manson penetra nella villa del regista Roman Polanski e massacra le 5 persone che vi si trovano, compresa Sharon Tate, la giovane e bellissima moglie del regista, incinta di 8 mesi. Seguirà il più lungo processo per omicidio della storia americana, durato nove mesi e mezzo, e il più costoso, un milione di dollari. Questa puntata segna l'inizio della partecipazione di Michele Mirabella al programma. L'artista, che ha alle spalle anche una lunga carriera di attore, sarà anche Arthur Miller nel caso Marylin Monroe, e Charyl Chessman. Dopo lo sceneggiato, l'autrice Antonella Ferrera intervista lo psichiatra e scrittore Vittorino Andreoli, autore del recente best-seller \"Il lato oscuro\". Una ghost-track, una traccia nascosta da un CD dei Guns and Roses, contenente una canzone composta dallo stesso Manson, conclude la trasmissione. Manson aveva infatti ambizioni di musicista, ed era convinto di poter diventare un giorno il quinto dei Beatles. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=XlssSlashbvRBAvSS9K4nT2sVcdgeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "22. Charles Manson ", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:59:00 GMT", + "soundbite": [], + "summary": "Nell'estate del 1969, a Los Angeles, una banda di fanatici guidati da Charles Manson penetra nella villa del regista Roman Polanski e massacra le 5 persone che vi si trovano, compresa Sharon Tate, la giovane e bellissima moglie del regista, incinta di 8 mesi. Seguirà il più lungo processo per omicidio della storia americana, durato nove mesi e mezzo, e il più costoso, un milione di dollari. Questa puntata segna l'inizio della partecipazione di Michele Mirabella al programma. L'artista, che ha alle spalle anche una lunga carriera di attore, sarà anche Arthur Miller nel caso Marylin Monroe, e Charyl Chessman. Dopo lo sceneggiato, l'autrice Antonella Ferrera intervista lo psichiatra e scrittore Vittorino Andreoli, autore del recente best-seller \"Il lato oscuro\". Una ghost-track, una traccia nascosta da un CD dei Guns and Roses, contenente una canzone composta dallo stesso Manson, conclude la trasmissione. Manson aveva infatti ambizioni di musicista, ed era convinto di poter diventare un giorno il quinto dei Beatles. ", + "title": "22. Charles Manson ", + "transcript": [], + "value": null + }, + { + "description": "Il 3 luglio del 1919 si suicida a Vienna, Victor Tausk, psicanalista, allievo amato-odiato di Sigmund Freud, ed ex amante della leggendaria Lou Andreas-Salomé. Bello, intelligente, inquieto, giovane, Tausk sembra pagare con la vita l'impossibilità di trovare un equilibrio e il duro scontro con il maestro Freud, che, se in pubblico avrà parole di cordoglio per la perdita dell'allievo, in privato scriverà: \"devo confessare di non sentire veramente la mancanza di Tausk; già da tempo l'avevo giudicato inutile\". Tausk è interpretato da Giulio Scarpati. Accanto a lui Francesca Muzio, Alfredo Pea, Loredana Martinez, Luca Dalla Bianca. Al dibattito partecipa lo psichiatra Piero Rocchini, intervistato dall'autrice Antonella Ferrera. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yYIQessSlashrwtTDUQrmA3rNpPpPlussKweeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "18. Victor Tausk", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:59:00 GMT", + "soundbite": [], + "summary": "Il 3 luglio del 1919 si suicida a Vienna, Victor Tausk, psicanalista, allievo amato-odiato di Sigmund Freud, ed ex amante della leggendaria Lou Andreas-Salomé. Bello, intelligente, inquieto, giovane, Tausk sembra pagare con la vita l'impossibilità di trovare un equilibrio e il duro scontro con il maestro Freud, che, se in pubblico avrà parole di cordoglio per la perdita dell'allievo, in privato scriverà: \"devo confessare di non sentire veramente la mancanza di Tausk; già da tempo l'avevo giudicato inutile\". Tausk è interpretato da Giulio Scarpati. Accanto a lui Francesca Muzio, Alfredo Pea, Loredana Martinez, Luca Dalla Bianca. Al dibattito partecipa lo psichiatra Piero Rocchini, intervistato dall'autrice Antonella Ferrera. ", + "title": "18. Victor Tausk", + "transcript": [], + "value": null + }, + { + "description": "Il 13 luglio è al Palais Royal, acquista un capello nero a nastrini verdi per non dare nell'occhio e un coltello da cucina con una lama di dodici centimetri. Quando entra nella stanza, Marat è nel bagno, disteso in una tinozza, Charlotte gioca con lui e con la sua morbosa passione cospirativa, elencandogli una falsa lista di traditori, poi, improvvisamente si alza dalla sedia e sferra un colpo fatale sotto la clavicola, sul fianco destro della vittima squarciandogli la carotide. Dopo la ricostruzione sceneggiata Antonella Ferrera intervista Roberto Olla, autore di documentari storici per la Rai ed il criminologo Piero Rocchini. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=uk5SpPpPlussYzLq3nqPI7BVmFlRgeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "17. Charlotte Corday – Marat ", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:59:00 GMT", + "soundbite": [], + "summary": "Il 13 luglio è al Palais Royal, acquista un capello nero a nastrini verdi per non dare nell'occhio e un coltello da cucina con una lama di dodici centimetri. Quando entra nella stanza, Marat è nel bagno, disteso in una tinozza, Charlotte gioca con lui e con la sua morbosa passione cospirativa, elencandogli una falsa lista di traditori, poi, improvvisamente si alza dalla sedia e sferra un colpo fatale sotto la clavicola, sul fianco destro della vittima squarciandogli la carotide. Dopo la ricostruzione sceneggiata Antonella Ferrera intervista Roberto Olla, autore di documentari storici per la Rai ed il criminologo Piero Rocchini. ", + "title": "17. Charlotte Corday – Marat ", + "transcript": [], + "value": null + }, + { + "description": "Aleksandr Puskin, grande poeta e narratore russo, autore di \"Eugenio Oneghin\", \"Boris Godunov\", \"La figlia del capitano\", muore a Mosca il 29 gennaio del 1837 per le ferite riportate in duello. Un duello che aveva voluto lui, sfidando un francese, presunto amante di sua moglie, la bellissima Natalia, ma un adulterio che era stato Puskin stesso a volere. Questa puntata segna il debutto radiofonico di Giulio Scarpati, l'attore divenuto popolare in TV con \"Un medico in famiglia\" ed in teatro con \"L'idiota\" di Dostojewsky. Scarpati protagonista di altri due episodi della serie radiofonica di Antonella Ferrera. Oltre ad interpretare il ruolo grande scrittore russo Aleksandr Puskin, sarà anche il fisico Ettore Majorana, e lo psicanalista Tausk, allievo odiato-amato di Sigmund Freud. Nel dibattito, a cura di Antonella Ferrera, interviene lo psichiatra Piero Rocchini. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=OIHlMnBfbxM7ttMZPQdk7QeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "14. Aleksandr Puskin ", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:59:00 GMT", + "soundbite": [], + "summary": "Aleksandr Puskin, grande poeta e narratore russo, autore di \"Eugenio Oneghin\", \"Boris Godunov\", \"La figlia del capitano\", muore a Mosca il 29 gennaio del 1837 per le ferite riportate in duello. Un duello che aveva voluto lui, sfidando un francese, presunto amante di sua moglie, la bellissima Natalia, ma un adulterio che era stato Puskin stesso a volere. Questa puntata segna il debutto radiofonico di Giulio Scarpati, l'attore divenuto popolare in TV con \"Un medico in famiglia\" ed in teatro con \"L'idiota\" di Dostojewsky. Scarpati protagonista di altri due episodi della serie radiofonica di Antonella Ferrera. Oltre ad interpretare il ruolo grande scrittore russo Aleksandr Puskin, sarà anche il fisico Ettore Majorana, e lo psicanalista Tausk, allievo odiato-amato di Sigmund Freud. Nel dibattito, a cura di Antonella Ferrera, interviene lo psichiatra Piero Rocchini. ", + "title": "14. Aleksandr Puskin ", + "transcript": [], + "value": null + }, + { + "description": "Nella Francia del '600, alla corte di Maria dei Medici, cresce a dismisura la fortuna del suo consigliere e, forse amante, Concino Concini. Ma il giovane re non perdonerà al fiorentino tanta arroganza e fortuna e lo farà pugnalare. Il ruolo del protagonista è interpretato da Paolo Ferrari. La vicenda è seguita da un dibattito curato da Antonella Ferrera cui partecipano Marina D'Amelia, storica, e Mimmo De Masi, sociologo. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yVpWLxIXkqllt7wvAJb5yQeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "9. Concino Concini", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "Nella Francia del '600, alla corte di Maria dei Medici, cresce a dismisura la fortuna del suo consigliere e, forse amante, Concino Concini. Ma il giovane re non perdonerà al fiorentino tanta arroganza e fortuna e lo farà pugnalare. Il ruolo del protagonista è interpretato da Paolo Ferrari. La vicenda è seguita da un dibattito curato da Antonella Ferrera cui partecipano Marina D'Amelia, storica, e Mimmo De Masi, sociologo. ", + "title": "9. Concino Concini", + "transcript": [], + "value": null + }, + { + "description": "Nell'Ungheria del 500 si svolge la vicenda che ha per protagonista la Contessa Bathory. Ossessionata dal timore di perdere la sua straordinaria bellezza, la contessa è convinta di poterla conservare solo bagnandosi nel sangue di fanciulle belle ed aristocratiche. Entrerà nella leggenda come \"la vampira\", anche se recenti studi sostengono che la leggenda sulla contessa Bathory fu creata ad arte perché le fossero tolte le sue enormi ricchezze. Nella fiction radiofonica Ludovica Modugno interpreta il ruolo di Erszebet Bathory. Alla ricostruzione sceneggiata fa seguito la consueta intervista di Antonella Ferrera cui partecipano il regista Giorgio Presburger e Gianni Pilo, direttore della collana del fantastico della Newton&Compton. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=8n5lHUeTzXSQV2y8DqCypPpPlussAeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "8. La contessa Bathory", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "Nell'Ungheria del 500 si svolge la vicenda che ha per protagonista la Contessa Bathory. Ossessionata dal timore di perdere la sua straordinaria bellezza, la contessa è convinta di poterla conservare solo bagnandosi nel sangue di fanciulle belle ed aristocratiche. Entrerà nella leggenda come \"la vampira\", anche se recenti studi sostengono che la leggenda sulla contessa Bathory fu creata ad arte perché le fossero tolte le sue enormi ricchezze. Nella fiction radiofonica Ludovica Modugno interpreta il ruolo di Erszebet Bathory. Alla ricostruzione sceneggiata fa seguito la consueta intervista di Antonella Ferrera cui partecipano il regista Giorgio Presburger e Gianni Pilo, direttore della collana del fantastico della Newton&Compton. ", + "title": "8. La contessa Bathory", + "transcript": [], + "value": null + }, + { + "description": "Una storia del 1946 questa della \"saponificatrice\". Ma uccideva le sue vittime per interesse o per mistica follia? Pensare che questa donna, che faceva a pezzi con la scure le sue vittime prima di bollirle, era piccola, dalle unghie curate e dagli impeccabili ricciolini. Con Anna Melato nel ruolo della protagonista. La vicenda è seguita da un dibattito in cui l'autrice Antonella Ferrera analizza il caso con lo psichiatra e criminologo Piero Rocchini. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=Hkiw8C9VwiLJCFuQIXfupweeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "7. Leonarda Cianciulli", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "Una storia del 1946 questa della \"saponificatrice\". Ma uccideva le sue vittime per interesse o per mistica follia? Pensare che questa donna, che faceva a pezzi con la scure le sue vittime prima di bollirle, era piccola, dalle unghie curate e dagli impeccabili ricciolini. Con Anna Melato nel ruolo della protagonista. La vicenda è seguita da un dibattito in cui l'autrice Antonella Ferrera analizza il caso con lo psichiatra e criminologo Piero Rocchini. ", + "title": "7. Leonarda Cianciulli", + "transcript": [], + "value": null + }, + { + "description": "Nel 1828, a Norimberga, compare uno strano ragazzo, dice di essere vissuto recluso dal mondo fino a quel momento: un idiota o un impostore? C'è addirittura chi lo dice erede al trono. Ma il suo assassinio, altrettanto misterioso, impedirà di conoscerne mai la verità. Con Alfredo Pea nella parte di Kaspar Hauser. La vicenda è seguita da un dibattito curato dall'autrice Antonella Ferrera cui partecipano lo psichiatra e criminologo Piero Rocchini e Ursula Bavai, docente di letteratura tedesca. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=9fcmbEUIwTuf6ddbqsdk9geeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "6. Kaspar Hauser", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "Nel 1828, a Norimberga, compare uno strano ragazzo, dice di essere vissuto recluso dal mondo fino a quel momento: un idiota o un impostore? C'è addirittura chi lo dice erede al trono. Ma il suo assassinio, altrettanto misterioso, impedirà di conoscerne mai la verità. Con Alfredo Pea nella parte di Kaspar Hauser. La vicenda è seguita da un dibattito curato dall'autrice Antonella Ferrera cui partecipano lo psichiatra e criminologo Piero Rocchini e Ursula Bavai, docente di letteratura tedesca. ", + "title": "6. Kaspar Hauser", + "transcript": [], + "value": null + }, + { + "description": "La sera del 14 aprile 1865 il presidente degli Stati Uniti d'America, Abramo Lincoln, si reca a teatro: un sudista e attore fallito di nome Booth, lo uccide con un colpo di pistola. Con Ivo Garrani nella ricostruzione sceneggiata. La vicenda è seguita da un dibattito cui partecipano lo psichiatra e criminologo Piero Rocchini e Daniele Fiorentino, esperto di storia americana, intervistati dall'autrice Antonella Ferrera.", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=nNz3YyPGaPJK83Hj2vHPnAeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "5. Abramo Lincoln", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "La sera del 14 aprile 1865 il presidente degli Stati Uniti d'America, Abramo Lincoln, si reca a teatro: un sudista e attore fallito di nome Booth, lo uccide con un colpo di pistola. Con Ivo Garrani nella ricostruzione sceneggiata. La vicenda è seguita da un dibattito cui partecipano lo psichiatra e criminologo Piero Rocchini e Daniele Fiorentino, esperto di storia americana, intervistati dall'autrice Antonella Ferrera.", + "title": "5. Abramo Lincoln", + "transcript": [], + "value": null + }, + { + "description": "All'alba di venerdì 31 agosto 1888, a Whitechapel, Londra, una donna viene trucidata. Era una prostituta di 41 anni. Con questa morte ha inizio un periodo di terrore in tutta la città quello di Jack the Ripper, ovvero Jack lo squartatore. Per molto tempo, voci mai confermate attribuirono i delitti al duca di Clarence, nipote della regina Vittoria, che venne ad un certo punto internato in un manicomio. Comunque, a tutt'oggi, Jack non ha un nome e tutte le domeniche viene organizzato, alle 19.30 in punto, un giro turistico per l'East End, per visitare i luoghi del delitto e - chissà - anche nella vaga speranza di trovarlo. La drammatica vicenda ebbe comunque il merito di portare l'attenzione di filantropi e politici su questa zona degradata della città e di migliorarne considerevolmente le condizioni. La trasmissione ricostruisce con un breve sceneggiato - arricchito dai giornali d'epoca e dalle lettere di Jack alla polizia -la vicenda, ed è seguita da un dibattito in cui l'autrice del programma Antonella Ferrera analizza il caso con la giallista Danila Comastri Montanari e lo psichiatra Piero Rocchini. La voce di Jack è di Cesare Barbetti, accanto a lui Paolo Ferrari ed Alfredo Pea. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=yHxBWSOlKOiJmAXHkwPb2weeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "4. Jack lo squartatore", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "All'alba di venerdì 31 agosto 1888, a Whitechapel, Londra, una donna viene trucidata. Era una prostituta di 41 anni. Con questa morte ha inizio un periodo di terrore in tutta la città quello di Jack the Ripper, ovvero Jack lo squartatore. Per molto tempo, voci mai confermate attribuirono i delitti al duca di Clarence, nipote della regina Vittoria, che venne ad un certo punto internato in un manicomio. Comunque, a tutt'oggi, Jack non ha un nome e tutte le domeniche viene organizzato, alle 19.30 in punto, un giro turistico per l'East End, per visitare i luoghi del delitto e - chissà - anche nella vaga speranza di trovarlo. La drammatica vicenda ebbe comunque il merito di portare l'attenzione di filantropi e politici su questa zona degradata della città e di migliorarne considerevolmente le condizioni. La trasmissione ricostruisce con un breve sceneggiato - arricchito dai giornali d'epoca e dalle lettere di Jack alla polizia -la vicenda, ed è seguita da un dibattito in cui l'autrice del programma Antonella Ferrera analizza il caso con la giallista Danila Comastri Montanari e lo psichiatra Piero Rocchini. La voce di Jack è di Cesare Barbetti, accanto a lui Paolo Ferrari ed Alfredo Pea. ", + "title": "4. Jack lo squartatore", + "transcript": [], + "value": null + }, + { + "description": "È l'ombra dell'incesto a pesare sulla morte del nobile romano Francesco Cenci, che venne ucciso per volontà della figlia, la giovane e bella Beatrice, modello ideale di femminilità nei secoli seguenti per pittori e poeti. La protagonista della ricostruzione sceneggiata è Micaela Esdra. La fiction dedicata a Beatrice Cenci, è seguita da un dibattito curato da Antonella Ferrera cui partecipano lo psichiatra Piero Rocchini e la storica Marina D'Amelia. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=Oa8dZ5rKxRqKiRJs8MkcssSlashgeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "3. Beatrice Cenci", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "È l'ombra dell'incesto a pesare sulla morte del nobile romano Francesco Cenci, che venne ucciso per volontà della figlia, la giovane e bella Beatrice, modello ideale di femminilità nei secoli seguenti per pittori e poeti. La protagonista della ricostruzione sceneggiata è Micaela Esdra. La fiction dedicata a Beatrice Cenci, è seguita da un dibattito curato da Antonella Ferrera cui partecipano lo psichiatra Piero Rocchini e la storica Marina D'Amelia. ", + "title": "3. Beatrice Cenci", + "transcript": [], + "value": null + }, + { + "description": "Nella primavera del 59 d.C., nei pressi del lago Lucrino, fu uccisa Agrippina per ordine di suo figlio, l'imperatore Nerone, che non ne sopportava più l'eccessiva invadenza. È il più grande matricidio della storia antica, ricostruito nella trasmissione, \"La storia in giallo\", domenica 14 aprile alle 19 su Radio 3, dapprima in forma sceneggiata, e poi oggetto di un dibattito cui hanno partecipato al fianco dell'autrice Antonella Ferrera lo storico Furio Sanpoli, lo psichiatra Piero Rocchini e la scrittrice Danila Comastri Montanari, specializzata in gialli ambientati nella Roma antica. L'imperatore Nerone era giunto al trono grazie all'appoggio della madre Agrippina, ed uccidendo Britannico, legittimo erede al trono. Non potendo più sopportare la forte personalità della madre che non voleva rinunciare e regnare per suo tramite, l'imperatore la fa salire su di una nave, Agrippina si salva a nuoto, ma una volta tornata nella sua villa, non potrà sfuggire ai sicari del figlio. Nella ricostruzione sono citati testi antichi e non - Seneca, Tacito, Svetonio, Racine -, mentre nel dibattito le opinioni sono a contrasto, a dimostrare quanto tutt'oggi sia vivo questo caso di Storia in Giallo. L'attrice protagonista è Anna Maria Gherardi, ed accanto a lei Paolo Ferrari, Alfredo Pea, Cesare Barbetti, Anna Melato. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=fPYobPcV53LAHuHF8CeIwgeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "2. Agrippina", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "Nella primavera del 59 d.C., nei pressi del lago Lucrino, fu uccisa Agrippina per ordine di suo figlio, l'imperatore Nerone, che non ne sopportava più l'eccessiva invadenza. È il più grande matricidio della storia antica, ricostruito nella trasmissione, \"La storia in giallo\", domenica 14 aprile alle 19 su Radio 3, dapprima in forma sceneggiata, e poi oggetto di un dibattito cui hanno partecipato al fianco dell'autrice Antonella Ferrera lo storico Furio Sanpoli, lo psichiatra Piero Rocchini e la scrittrice Danila Comastri Montanari, specializzata in gialli ambientati nella Roma antica. L'imperatore Nerone era giunto al trono grazie all'appoggio della madre Agrippina, ed uccidendo Britannico, legittimo erede al trono. Non potendo più sopportare la forte personalità della madre che non voleva rinunciare e regnare per suo tramite, l'imperatore la fa salire su di una nave, Agrippina si salva a nuoto, ma una volta tornata nella sua villa, non potrà sfuggire ai sicari del figlio. Nella ricostruzione sono citati testi antichi e non - Seneca, Tacito, Svetonio, Racine -, mentre nel dibattito le opinioni sono a contrasto, a dimostrare quanto tutt'oggi sia vivo questo caso di Storia in Giallo. L'attrice protagonista è Anna Maria Gherardi, ed accanto a lei Paolo Ferrari, Alfredo Pea, Cesare Barbetti, Anna Melato. ", + "title": "2. Agrippina", + "transcript": [], + "value": null + }, + { + "description": "La romantica storia dell'amore fra la giovanissima Mary e l'arciduca Rodolfo d'Asburgo, conclusasi con un doppio suicidio, forse non fu così romantica. E forse non fu neanche un suicidio. Si trattò probabilmente di un omicidio a sfondo politico. Con Cristina Boraschi nella parte di Mary. La vicenda è seguita da un dibattito curato dall'autrice Antonella Ferrera cui partecipano Ursula Bavai, docente di letteratura tedesca ed il regista Giorgio Presburger in collegamento da Budapest. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=LvpvH5xGxssSlashdIBWQo1GZAvAeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "10. Il caso Mayerling", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "La romantica storia dell'amore fra la giovanissima Mary e l'arciduca Rodolfo d'Asburgo, conclusasi con un doppio suicidio, forse non fu così romantica. E forse non fu neanche un suicidio. Si trattò probabilmente di un omicidio a sfondo politico. Con Cristina Boraschi nella parte di Mary. La vicenda è seguita da un dibattito curato dall'autrice Antonella Ferrera cui partecipano Ursula Bavai, docente di letteratura tedesca ed il regista Giorgio Presburger in collegamento da Budapest. ", + "title": "10. Il caso Mayerling", + "transcript": [], + "value": null + }, + { + "description": "La sera del 12 marzo 1909, a Piazza Marina, Palermo, viene ucciso il poliziotto italo-americano Joe Petrosino, giunto in Sicilia per colpire alle radici l'organizzazione criminale della Mano Nera. È il primo grande delitto di mafia. Petrosino è già, per il suo coraggio e la sua durezza, una figura mitica. Presto diventerà un personaggio dei fumetti e negli anni '70, il regista Daniele D'Anza ne farà un film di culto per la TV. La versione radiofonica vede protagonista Enrico Lo Verso, giunto al successo con \"Il ladro di bambini\", l'attore siciliano è al suo debutto radiofonico. Accanto a lui le voci di Paolo Ferrari, Cesare Barbetti, Ivo Garrani. Nel dibattito che segue la ricostruzione sceneggiata, l'autrice Antonella Ferrera intervista Roberto Alajmo, esperto di antimafia, e Roberto Olla, autore di documentari storici. ", + "enclosure": { + "length": "0", + "type": "false", + "url": "https://mediapolisvod.rai.it/relinker/relinkerServlet.htm?cont=E0zKUvykCUpPpPlussQC7Bdt8qzTgeeqqEEqualeeqqEEqual" + }, + "explicit": false, + "funding": [], + "guid": "1. Joe Petrosino", + "imageURL": "https://test.dev/dl/img/2024/01/11/1704978749483_La%20storia%20in%20giallo-2048x2048.jpg", + "pubDate": "Fri, 17 Nov 2023 09:31:00 GMT", + "soundbite": [], + "summary": "La sera del 12 marzo 1909, a Piazza Marina, Palermo, viene ucciso il poliziotto italo-americano Joe Petrosino, giunto in Sicilia per colpire alle radici l'organizzazione criminale della Mano Nera. È il primo grande delitto di mafia. Petrosino è già, per il suo coraggio e la sua durezza, una figura mitica. Presto diventerà un personaggio dei fumetti e negli anni '70, il regista Daniele D'Anza ne farà un film di culto per la TV. La versione radiofonica vede protagonista Enrico Lo Verso, giunto al successo con \"Il ladro di bambini\", l'attore siciliano è al suo debutto radiofonico. Accanto a lui le voci di Paolo Ferrari, Cesare Barbetti, Ivo Garrani. Nel dibattito che segue la ricostruzione sceneggiata, l'autrice Antonella Ferrera intervista Roberto Alajmo, esperto di antimafia, e Roberto Olla, autore di documentari storici. ", + "title": "1. Joe Petrosino", + "transcript": [], + "value": null + } + ] +}