From ee911d7eac41bf26204afc8f5c8a742a987c7695 Mon Sep 17 00:00:00 2001 From: Oliver Eyton-Williams Date: Tue, 11 Nov 2025 09:34:24 +0100 Subject: [PATCH] refactor: simplify sourcing of challenge nodes into gatsby (#63697) --- client/gatsby-node.js | 2 - .../show-daily-coding-challenge.tsx | 10 +- .../components/__fixtures__/edges.json | 8115 ++++++----------- .../profile/components/time-line.tsx | 8 +- client/src/redux/prop-types.ts | 7 +- .../src/templates/Challenges/classic/show.tsx | 15 +- .../templates/Challenges/codeally/show.tsx | 12 +- client/src/templates/Challenges/exam/show.tsx | 19 +- .../Challenges/fill-in-the-blank/show.tsx | 15 +- .../src/templates/Challenges/generic/show.tsx | 13 +- .../templates/Challenges/ms-trophy/show.tsx | 21 +- .../Challenges/projects/backend/show.tsx | 19 +- .../Challenges/projects/frontend/show.tsx | 16 +- client/src/templates/Challenges/quiz/show.tsx | 12 +- .../Introduction/super-block-intro.tsx | 3 +- .../create-challenge-nodes.js | 4 +- tools/daily-challenges/helpers.ts | 8 +- tools/daily-challenges/types.ts | 10 +- 18 files changed, 2778 insertions(+), 5531 deletions(-) diff --git a/client/gatsby-node.js b/client/gatsby-node.js index 40c24d3c77c..71d03b712c5 100644 --- a/client/gatsby-node.js +++ b/client/gatsby-node.js @@ -470,8 +470,6 @@ exports.createSchemaCustomization = ({ actions }) => { } type ChallengeFields { slug: String - blockName: String - tests: [Test] } type Nodule { type: String diff --git a/client/src/client-only-routes/show-daily-coding-challenge.tsx b/client/src/client-only-routes/show-daily-coding-challenge.tsx index f9605069375..1ce53a4c521 100644 --- a/client/src/client-only-routes/show-daily-coding-challenge.tsx +++ b/client/src/client-only-routes/show-daily-coding-challenge.tsx @@ -91,10 +91,7 @@ function formatChallengeData({ ...baseChallengeProps, helpCategory: 'JavaScript', challengeType: 28, - fields: { - blockName: 'daily-coding-challenge', - tests: javascript.tests - }, + tests: javascript.tests, challengeFiles: [ { name: 'script', @@ -119,10 +116,7 @@ function formatChallengeData({ ...baseChallengeProps, helpCategory: 'Python', challengeType: 29, - fields: { - blockName: 'daily-coding-challenge', - tests: python.tests - }, + tests: python.tests, challengeFiles: [ { fileKey: 'mainpy', diff --git a/client/src/components/profile/components/__fixtures__/edges.json b/client/src/components/profile/components/__fixtures__/edges.json index da0b3637fbf..a0ec389b14b 100644 --- a/client/src/components/profile/components/__fixtures__/edges.json +++ b/client/src/components/profile/components/__fixtures__/edges.json @@ -3,8 +3,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility" }, "id": "587d774c367417b2b2512a9c", "title": "Add a Text Alternative to Images for Visually Impaired Accessibility" @@ -15,8 +14,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/add-an-accessible-date-picker", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/add-an-accessible-date-picker" }, "id": "587d778b367417b2b2512aa8", "title": "Add an Accessible Date Picker" @@ -27,8 +25,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information" }, "id": "587d778f367417b2b2512aad", "title": "Avoid Colorblindness Issues by Carefully Choosing Colors that Convey Information" @@ -39,8 +36,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast" }, "id": "587d778f367417b2b2512aac", "title": "Avoid Colorblindness Issues by Using Sufficient Contrast" @@ -51,8 +47,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text" }, "id": "587d778f367417b2b2512aae", "title": "Give Links Meaning by Using Descriptive Link Text" @@ -63,8 +58,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element" }, "id": "587d7789367417b2b2512aa4", "title": "Improve Accessibility of Audio Content with the audio Element" @@ -75,8 +69,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element" }, "id": "587d778a367417b2b2512aa5", "title": "Improve Chart Accessibility with the figure Element" @@ -87,8 +80,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element" }, "id": "587d778a367417b2b2512aa6", "title": "Improve Form Field Accessibility with the label Element" @@ -99,8 +91,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text" }, "id": "587d778e367417b2b2512aab", "title": "Improve Readability with High Contrast Text" @@ -111,8 +102,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element" }, "id": "587d774e367417b2b2512a9f", "title": "Jump Straight to the Content Using the main Element" @@ -123,8 +113,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank" }, "id": "587d774c367417b2b2512a9d", "title": "Know When Alt Text Should be Left Blank" @@ -135,8 +124,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css" }, "id": "587d778d367417b2b2512aaa", "title": "Make Elements Only Visible to a Screen Reader by Using Custom CSS" @@ -147,8 +135,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys" }, "id": "587d7790367417b2b2512aaf", "title": "Make Links Navigable with HTML Access Keys" @@ -159,8 +146,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark" }, "id": "587d7788367417b2b2512aa3", "title": "Make Screen Reader Navigation Easier with the footer Landmark" @@ -171,8 +157,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark" }, "id": "587d7787367417b2b2512aa1", "title": "Make Screen Reader Navigation Easier with the header Landmark" @@ -183,8 +168,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark" }, "id": "587d7788367417b2b2512aa2", "title": "Make Screen Reader Navigation Easier with the nav Landmark" @@ -195,8 +179,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/standardize-times-with-the-html5-datetime-attribute", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/standardize-times-with-the-html5-datetime-attribute" }, "id": "587d778c367417b2b2512aa9", "title": "Standardize Times with the HTML5 datetime Attribute" @@ -207,8 +190,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/use-headings-to-show-hierarchical-relationships-of-content", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/use-headings-to-show-hierarchical-relationships-of-content" }, "id": "587d774d367417b2b2512a9e", "title": "Use Headings to Show Hierarchical Relationships of Content" @@ -219,8 +201,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/use-tabindex-to-add-keyboard-focus-to-an-element", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/use-tabindex-to-add-keyboard-focus-to-an-element" }, "id": "587d7790367417b2b2512ab0", "title": "Use tabindex to Add Keyboard Focus to an Element" @@ -231,8 +212,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/use-tabindex-to-specify-the-order-of-keyboard-focus-for-several-elements", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/use-tabindex-to-specify-the-order-of-keyboard-focus-for-several-elements" }, "id": "587d7790367417b2b2512ab1", "title": "Use tabindex to Specify the Order of Keyboard Focus for Several Elements" @@ -243,8 +223,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/wrap-content-in-the-article-element", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/wrap-content-in-the-article-element" }, "id": "587d774e367417b2b2512aa0", "title": "Wrap Content in the article Element" @@ -255,8 +234,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-accessibility/wrap-radio-buttons-in-a-fieldset-element-for-better-accessibility", - "blockName": "Applied Accessibility" + "slug": "/learn/responsive-web-design/applied-accessibility/wrap-radio-buttons-in-a-fieldset-element-for-better-accessibility" }, "id": "587d778b367417b2b2512aa7", "title": "Wrap Radio Buttons in a fieldset Element for Better Accessibility" @@ -267,8 +245,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/add-a-box-shadow-to-a-card-like-element", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/add-a-box-shadow-to-a-card-like-element" }, "id": "587d781b367417b2b2512abe", "title": "Add a box-shadow to a Card-like Element" @@ -279,8 +256,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-background-color-property-of-text", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-background-color-property-of-text" }, "id": "587d781b367417b2b2512abc", "title": "Adjust the background-color Property of Text" @@ -291,8 +267,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-color-of-various-elements-to-complementary-colors", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-color-of-various-elements-to-complementary-colors" }, "id": "587d78a4367417b2b2512ad3", "title": "Adjust the Color of Various Elements to Complementary Colors" @@ -303,8 +278,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-height-of-an-element-using-the-height-property", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-height-of-an-element-using-the-height-property" }, "id": "587d7791367417b2b2512ab5", "title": "Adjust the Height of an Element Using the height Property" @@ -315,8 +289,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-hover-state-of-an-anchor-tag", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-hover-state-of-an-anchor-tag" }, "id": "587d781d367417b2b2512ac8", "title": "Adjust the Hover State of an Anchor Tag" @@ -327,8 +300,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-hue-of-a-color", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-hue-of-a-color" }, "id": "587d78a4367417b2b2512ad4", "title": "Adjust the Hue of a Color" @@ -339,8 +311,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-size-of-a-heading-element-versus-a-paragraph-element", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-size-of-a-heading-element-versus-a-paragraph-element" }, "id": "587d781b367417b2b2512abd", "title": "Adjust the Size of a Heading Element Versus a Paragraph Element" @@ -351,8 +322,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-tone-of-a-color", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-tone-of-a-color" }, "id": "587d78a4367417b2b2512ad5", "title": "Adjust the Tone of a Color" @@ -363,8 +333,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-width-of-an-element-using-the-width-property", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/adjust-the-width-of-an-element-using-the-width-property" }, "id": "587d7791367417b2b2512ab4", "title": "Adjust the Width of an Element Using the width Property" @@ -375,8 +344,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/animate-elements-at-variable-rates", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/animate-elements-at-variable-rates" }, "id": "587d78a8367417b2b2512ae5", "title": "Animate Elements at Variable Rates" @@ -387,8 +355,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/animate-elements-continually-using-an-infinite-animation-count", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/animate-elements-continually-using-an-infinite-animation-count" }, "id": "587d78a8367417b2b2512ae3", "title": "Animate Elements Continually Using an Infinite Animation Count" @@ -399,8 +366,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/animate-multiple-elements-at-variable-rates", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/animate-multiple-elements-at-variable-rates" }, "id": "587d78a8367417b2b2512ae6", "title": "Animate Multiple Elements at Variable Rates" @@ -411,8 +377,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/center-an-element-horizontally-using-the-margin-property", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/center-an-element-horizontally-using-the-margin-property" }, "id": "587d78a3367417b2b2512ad0", "title": "Center an Element Horizontally Using the margin Property" @@ -423,8 +388,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/change-an-elements-relative-position", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/change-an-elements-relative-position" }, "id": "587d781e367417b2b2512ac9", "title": "Change an Element's Relative Position" @@ -435,8 +399,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/change-animation-timing-with-keywords", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/change-animation-timing-with-keywords" }, "id": "587d78a8367417b2b2512ae7", "title": "Change Animation Timing with Keywords" @@ -447,8 +410,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/change-the-position-of-overlapping-elements-with-the-z-index-property", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/change-the-position-of-overlapping-elements-with-the-z-index-property" }, "id": "587d78a3367417b2b2512acf", "title": "Change the Position of Overlapping Elements with the z-index Property" @@ -459,8 +421,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/create-a-gradual-css-linear-gradient", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/create-a-gradual-css-linear-gradient" }, "id": "587d78a5367417b2b2512ad6", "title": "Create a Gradual CSS Linear Gradient" @@ -471,8 +432,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/create-a-graphic-using-css", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/create-a-graphic-using-css" }, "id": "587d78a6367417b2b2512add", "title": "Create a Graphic Using CSS" @@ -483,8 +443,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/create-a-horizontal-line-using-the-hr-element", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/create-a-horizontal-line-using-the-hr-element" }, "id": "587d781b367417b2b2512abb", "title": "Create a Horizontal Line Using the hr Element" @@ -495,8 +454,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/create-a-more-complex-shape-using-css-and-html", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/create-a-more-complex-shape-using-css-and-html" }, "id": "587d78a6367417b2b2512ade", "title": "Create a More Complex Shape Using CSS and HTML" @@ -507,8 +465,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/create-movement-using-css-animation", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/create-movement-using-css-animation" }, "id": "587d78a7367417b2b2512ae1", "title": "Create Movement Using CSS Animation" @@ -519,8 +476,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/create-texture-by-adding-a-subtle-pattern-as-a-background-image", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/create-texture-by-adding-a-subtle-pattern-as-a-background-image" }, "id": "587d78a5367417b2b2512ad8", "title": "Create Texture by Adding a Subtle Pattern as a Background Image" @@ -531,8 +487,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/create-visual-balance-using-the-text-align-property", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/create-visual-balance-using-the-text-align-property" }, "id": "587d7791367417b2b2512ab3", "title": "Create Visual Balance Using the text-align Property" @@ -543,8 +498,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/create-visual-direction-by-fading-an-element-from-left-to-right", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/create-visual-direction-by-fading-an-element-from-left-to-right" }, "id": "587d78a7367417b2b2512ae2", "title": "Create Visual Direction by Fading an Element from Left to Right" @@ -555,8 +509,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/decrease-the-opacity-of-an-element", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/decrease-the-opacity-of-an-element" }, "id": "587d781c367417b2b2512abf", "title": "Decrease the Opacity of an Element" @@ -567,8 +520,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/learn-about-complementary-colors", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/learn-about-complementary-colors" }, "id": "587d78a3367417b2b2512ad1", "title": "Learn about Complementary Colors" @@ -579,8 +531,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/learn-about-tertiary-colors", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/learn-about-tertiary-colors" }, "id": "587d78a4367417b2b2512ad2", "title": "Learn about Tertiary Colors" @@ -591,8 +542,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/learn-how-bezier-curves-work", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/learn-how-bezier-curves-work" }, "id": "587d78a9367417b2b2512ae8", "title": "Learn How Bezier Curves Work" @@ -603,8 +553,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/learn-how-the-css-keyframes-and-animation-properties-work", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/learn-how-the-css-keyframes-and-animation-properties-work" }, "id": "587d78a7367417b2b2512adf", "title": "Learn How the CSS @keyframes and animation Properties Work" @@ -615,8 +564,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/lock-an-element-to-its-parent-with-absolute-positioning", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/lock-an-element-to-its-parent-with-absolute-positioning" }, "id": "587d781e367417b2b2512acb", "title": "Lock an Element to its Parent with Absolute Positioning" @@ -627,8 +575,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/lock-an-element-to-the-browser-window-with-fixed-positioning", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/lock-an-element-to-the-browser-window-with-fixed-positioning" }, "id": "587d781e367417b2b2512acc", "title": "Lock an Element to the Browser Window with Fixed Positioning" @@ -639,8 +586,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/make-a-css-heartbeat-using-an-infinite-animation-count", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/make-a-css-heartbeat-using-an-infinite-animation-count" }, "id": "587d78a8367417b2b2512ae4", "title": "Make a CSS Heartbeat using an Infinite Animation Count" @@ -651,8 +597,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/make-motion-more-natural-using-a-bezier-curve", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/make-motion-more-natural-using-a-bezier-curve" }, "id": "587d78a9367417b2b2512aea", "title": "Make Motion More Natural Using a Bezier Curve" @@ -663,8 +608,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/modify-fill-mode-of-an-animation", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/modify-fill-mode-of-an-animation" }, "id": "58a7a6ebf9a6318348e2d5aa", "title": "Modify Fill Mode of an Animation" @@ -675,8 +619,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/move-a-relatively-positioned-element-with-css-offsets", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/move-a-relatively-positioned-element-with-css-offsets" }, "id": "587d781e367417b2b2512aca", "title": "Move a Relatively Positioned Element with CSS Offsets" @@ -687,8 +630,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/push-elements-left-or-right-with-the-float-property", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/push-elements-left-or-right-with-the-float-property" }, "id": "587d78a3367417b2b2512ace", "title": "Push Elements Left or Right with the float Property" @@ -699,8 +641,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/set-the-font-size-for-multiple-heading-elements", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/set-the-font-size-for-multiple-heading-elements" }, "id": "587d781c367417b2b2512ac2", "title": "Set the font-size for Multiple Heading Elements" @@ -711,8 +652,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/set-the-font-size-of-paragraph-text", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/set-the-font-size-of-paragraph-text" }, "id": "587d781c367417b2b2512ac4", "title": "Set the font-size of Paragraph Text" @@ -723,8 +663,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/set-the-font-weight-for-multiple-heading-elements", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/set-the-font-weight-for-multiple-heading-elements" }, "id": "587d781c367417b2b2512ac3", "title": "Set the font-weight for Multiple Heading Elements" @@ -735,8 +674,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/set-the-line-height-of-paragraphs", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/set-the-line-height-of-paragraphs" }, "id": "587d781d367417b2b2512ac5", "title": "Set the line-height of Paragraphs" @@ -747,8 +685,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-a-bezier-curve-to-move-a-graphic", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-a-bezier-curve-to-move-a-graphic" }, "id": "587d78a9367417b2b2512ae9", "title": "Use a Bezier Curve to Move a Graphic" @@ -759,8 +696,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-a-css-linear-gradient-to-create-a-striped-element", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-a-css-linear-gradient-to-create-a-striped-element" }, "id": "587d78a5367417b2b2512ad7", "title": "Use a CSS Linear Gradient to Create a Striped Element" @@ -771,8 +707,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-css-animation-to-change-the-hover-state-of-a-button", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-css-animation-to-change-the-hover-state-of-a-button" }, "id": "587d78a7367417b2b2512ae0", "title": "Use CSS Animation to Change the Hover State of a Button" @@ -783,8 +718,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-the-css-transform-property-skewx-to-skew-an-element-along-the-x-axis", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-the-css-transform-property-skewx-to-skew-an-element-along-the-x-axis" }, "id": "587d78a6367417b2b2512adb", "title": "Use the CSS Transform Property skewX to Skew an Element Along the X-Axis" @@ -795,8 +729,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-the-css-transform-property-skewy-to-skew-an-element-along-the-y-axis", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-the-css-transform-property-skewy-to-skew-an-element-along-the-y-axis" }, "id": "587d78a6367417b2b2512adc", "title": "Use the CSS Transform Property skewY to Skew an Element Along the Y-Axis" @@ -807,8 +740,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-change-the-size-of-an-element", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-change-the-size-of-an-element" }, "id": "587d78a5367417b2b2512ad9", "title": "Use the CSS Transform scale Property to Change the Size of an Element" @@ -819,8 +751,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-scale-an-element-on-hover", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-scale-an-element-on-hover" }, "id": "587d78a5367417b2b2512ada", "title": "Use the CSS Transform scale Property to Scale an Element on Hover" @@ -831,8 +762,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-the-em-tag-to-italicize-text", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-the-em-tag-to-italicize-text" }, "id": "587d781a367417b2b2512ab9", "title": "Use the em Tag to Italicize Text" @@ -843,8 +773,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-the-s-tag-to-strikethrough-text", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-the-s-tag-to-strikethrough-text" }, "id": "587d781b367417b2b2512aba", "title": "Use the s Tag to Strikethrough Text" @@ -855,8 +784,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-the-strong-tag-to-make-text-bold", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-the-strong-tag-to-make-text-bold" }, "id": "587d781a367417b2b2512ab7", "title": "Use the strong Tag to Make Text Bold" @@ -867,8 +795,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-the-text-transform-property-to-make-text-uppercase", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-the-text-transform-property-to-make-text-uppercase" }, "id": "587d781c367417b2b2512ac0", "title": "Use the text-transform Property to Make Text Uppercase" @@ -879,8 +806,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/applied-visual-design/use-the-u-tag-to-underline-text", - "blockName": "Applied Visual Design" + "slug": "/learn/responsive-web-design/applied-visual-design/use-the-u-tag-to-underline-text" }, "id": "587d781a367417b2b2512ab8", "title": "Use the u Tag to Underline Text" @@ -891,8 +817,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/add-a-negative-margin-to-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/add-a-negative-margin-to-an-element" }, "id": "bad87fee1348bd9aedf08823", "title": "Add a Negative Margin to an Element" @@ -903,8 +828,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/add-borders-around-your-elements", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/add-borders-around-your-elements" }, "id": "bad87fee1348bd9bedf08813", "title": "Add Borders Around Your Elements" @@ -915,8 +839,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/add-different-margins-to-each-side-of-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/add-different-margins-to-each-side-of-an-element" }, "id": "bad87fee1248bd9aedf08824", "title": "Add Different Margins to Each Side of an Element" @@ -927,8 +850,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/add-different-padding-to-each-side-of-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/add-different-padding-to-each-side-of-an-element" }, "id": "bad87fee1348bd9aedf08824", "title": "Add Different Padding to Each Side of an Element" @@ -939,8 +861,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/add-rounded-corners-with-border-radius", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/add-rounded-corners-with-border-radius" }, "id": "bad87fee1348bd9aedf08814", "title": "Add Rounded Corners with border-radius" @@ -951,8 +872,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/adjust-the-margin-of-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/adjust-the-margin-of-an-element" }, "id": "bad87fee1348bd9aedf08822", "title": "Adjust the Margin of an Element" @@ -963,8 +883,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/adjust-the-padding-of-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/adjust-the-padding-of-an-element" }, "id": "bad88fee1348bd9aedf08825", "title": "Adjust the Padding of an Element" @@ -975,8 +894,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/attach-a-fallback-value-to-a-css-variable", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/attach-a-fallback-value-to-a-css-variable" }, "id": "5a9d7286424fe3d0e10cad13", "title": "Attach a Fallback value to a CSS Variable" @@ -987,8 +905,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/change-a-variable-for-a-specific-area", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/change-a-variable-for-a-specific-area" }, "id": "5a9d72a1424fe3d0e10cad15", "title": "Change a variable for a specific area" @@ -999,8 +916,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/change-the-color-of-text", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/change-the-color-of-text" }, "id": "bad87fee1348bd9aedf08803", "title": "Change the Color of Text" @@ -1011,8 +927,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/change-the-font-size-of-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/change-the-font-size-of-an-element" }, "id": "bad87fee1348bd9aedf08806", "title": "Change the Font Size of an Element" @@ -1023,8 +938,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/create-a-custom-css-variable", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/create-a-custom-css-variable" }, "id": "5a9d726c424fe3d0e10cad11", "title": "Create a custom CSS Variable" @@ -1035,8 +949,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/give-a-background-color-to-a-div-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/give-a-background-color-to-a-div-element" }, "id": "bad87fed1348bd9aede07836", "title": "Give a Background Color to a div Element" @@ -1047,8 +960,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/import-a-google-font", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/import-a-google-font" }, "id": "bad87fee1348bd9aedf08807", "title": "Import a Google Font" @@ -1059,8 +971,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/improve-compatibility-with-browser-fallbacks", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/improve-compatibility-with-browser-fallbacks" }, "id": "5b7d72c338cd7e35b63f3e14", "title": "Improve Compatibility with Browser Fallbacks" @@ -1071,8 +982,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/inherit-css-variables", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/inherit-css-variables" }, "id": "5a9d7295424fe3d0e10cad14", "title": "Inherit CSS Variables" @@ -1083,8 +993,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/inherit-styles-from-the-body-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/inherit-styles-from-the-body-element" }, "id": "bad87fee1348bd9aedf08746", "title": "Inherit Styles from the Body Element" @@ -1095,8 +1004,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/make-circular-images-with-a-border-radius", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/make-circular-images-with-a-border-radius" }, "id": "bad87fee1348bd9aedf08815", "title": "Make Circular Images with a border-radius" @@ -1107,8 +1015,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/override-all-other-styles-by-using-important", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/override-all-other-styles-by-using-important" }, "id": "bad87fee1348bd9aedf07756", "title": "Override All Other Styles by using Important" @@ -1119,8 +1026,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/override-class-declarations-by-styling-id-attributes", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/override-class-declarations-by-styling-id-attributes" }, "id": "bad87fee1348bd8aedf06756", "title": "Override Class Declarations by Styling ID Attributes" @@ -1131,8 +1037,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/override-class-declarations-with-inline-styles", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/override-class-declarations-with-inline-styles" }, "id": "bad87fee1348bd9aedf06756", "title": "Override Class Declarations with Inline Styles" @@ -1143,8 +1048,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/override-styles-in-subsequent-css", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/override-styles-in-subsequent-css" }, "id": "bad87fee1348bd9aedf04756", "title": "Override Styles in Subsequent CSS" @@ -1155,8 +1059,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/prioritize-one-style-over-another", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/prioritize-one-style-over-another" }, "id": "bad87fee1348bd9aedf08756", "title": "Prioritize One Style Over Another" @@ -1167,8 +1070,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/set-the-font-family-of-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/set-the-font-family-of-an-element" }, "id": "bad87fee1348bd9aede08807", "title": "Set the Font Family of an Element" @@ -1179,8 +1081,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/set-the-id-of-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/set-the-id-of-an-element" }, "id": "bad87eee1348bd9aede07836", "title": "Set the id of an Element" @@ -1191,8 +1092,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/size-your-images", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/size-your-images" }, "id": "bad87fee1348bd9acdf08812", "title": "Size Your Images" @@ -1203,8 +1103,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/specify-how-fonts-should-degrade", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/specify-how-fonts-should-degrade" }, "id": "bad87fee1348bd9aedf08808", "title": "Specify How Fonts Should Degrade" @@ -1215,8 +1114,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/style-multiple-elements-with-a-css-class", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/style-multiple-elements-with-a-css-class" }, "id": "bad87fee1348bd9aefe08806", "title": "Style Multiple Elements with a CSS Class" @@ -1227,8 +1125,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/style-the-html-body-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/style-the-html-body-element" }, "id": "bad87fee1348bd9aedf08736", "title": "Style the HTML Body Element" @@ -1239,8 +1136,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/understand-absolute-versus-relative-units", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/understand-absolute-versus-relative-units" }, "id": "bad82fee1322bd9aedf08721", "title": "Understand Absolute versus Relative Units" @@ -1251,8 +1147,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-a-css-class-to-style-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-a-css-class-to-style-an-element" }, "id": "bad87fee1348bd9aecf08806", "title": "Use a CSS Class to Style an Element" @@ -1263,8 +1158,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-a-custom-css-variable", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-a-custom-css-variable" }, "id": "5a9d727a424fe3d0e10cad12", "title": "Use a custom CSS Variable" @@ -1275,8 +1169,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-a-media-query-to-change-a-variable", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-a-media-query-to-change-a-variable" }, "id": "5a9d72ad424fe3d0e10cad16", "title": "Use a media query to change a variable" @@ -1287,8 +1180,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-abbreviated-hex-code", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-abbreviated-hex-code" }, "id": "bad87fee1348bd9aedf08719", "title": "Use Abbreviated Hex Code" @@ -1299,8 +1191,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-an-id-attribute-to-style-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-an-id-attribute-to-style-an-element" }, "id": "bad87dee1348bd9aede07836", "title": "Use an id Attribute to Style an Element" @@ -1311,8 +1202,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-attribute-selectors-to-style-elements", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-attribute-selectors-to-style-elements" }, "id": "58c383d33e2e3259241f3076", "title": "Use Attribute Selectors to Style Elements" @@ -1323,8 +1213,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-margin-of-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-margin-of-an-element" }, "id": "bad87fee1348bd9afdf08726", "title": "Use Clockwise Notation to Specify the Margin of an Element" @@ -1335,8 +1224,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-padding-of-an-element", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-padding-of-an-element" }, "id": "bad87fee1348bd9aedf08826", "title": "Use Clockwise Notation to Specify the Padding of an Element" @@ -1347,8 +1235,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-css-selectors-to-style-elements", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-css-selectors-to-style-elements" }, "id": "bad87fee1348bd9aedf08805", "title": "Use CSS Selectors to Style Elements" @@ -1359,8 +1246,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-css-variables-to-change-several-elements-at-once", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-css-variables-to-change-several-elements-at-once" }, "id": "5a9d725e424fe3d0e10cad10", "title": "Use CSS Variables to change several elements at once" @@ -1371,8 +1257,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-hex-code-for-specific-colors", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-hex-code-for-specific-colors" }, "id": "bad87fee1348bd9aedf08726", "title": "Use Hex Code for Specific Colors" @@ -1383,8 +1268,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-hex-code-to-mix-colors", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-hex-code-to-mix-colors" }, "id": "bad87fee1348bd9aedf08721", "title": "Use Hex Code to Mix Colors" @@ -1395,8 +1279,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-rgb-to-mix-colors", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-rgb-to-mix-colors" }, "id": "bad82fee1348bd9aedf08721", "title": "Use RGB to Mix Colors" @@ -1407,8 +1290,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-css/use-rgb-values-to-color-elements", - "blockName": "Basic CSS" + "slug": "/learn/responsive-web-design/basic-css/use-rgb-values-to-color-elements" }, "id": "bad87fee1348bd9aede08718", "title": "Use RGB values to Color Elements" @@ -1419,8 +1301,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/add-a-submit-button-to-a-form", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/add-a-submit-button-to-a-form" }, "id": "bad87fee1348bd9aedd08830", "title": "Add a Submit Button to a Form" @@ -1431,8 +1312,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/add-images-to-your-website", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/add-images-to-your-website" }, "id": "bad87fee1348bd9aedf08812", "title": "Add Images to Your Website" @@ -1443,8 +1323,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/add-placeholder-text-to-a-text-field", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/add-placeholder-text-to-a-text-field" }, "id": "bad87fee1348bd9aedf08830", "title": "Add Placeholder Text to a Text Field" @@ -1455,8 +1334,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default" }, "id": "bad87fee1348bd9aedd08835", "title": "Check Radio Buttons and Checkboxes by Default" @@ -1467,8 +1345,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/comment-out-html", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/comment-out-html" }, "id": "bad87fee1348bd9aedf08804", "title": "Comment out HTML" @@ -1479,8 +1356,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-bulleted-unordered-list", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-bulleted-unordered-list" }, "id": "bad87fee1348bd9aedf08827", "title": "Create a Bulleted Unordered List" @@ -1491,8 +1367,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-form-element", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-form-element" }, "id": "bad87fee1348bd9aede08830", "title": "Create a Form Element" @@ -1503,8 +1378,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-set-of-checkboxes", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-set-of-checkboxes" }, "id": "bad87fee1348bd9aedf08835", "title": "Create a Set of Checkboxes" @@ -1515,8 +1389,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-set-of-radio-buttons", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-set-of-radio-buttons" }, "id": "bad87fee1348bd9aedf08834", "title": "Create a Set of Radio Buttons" @@ -1527,8 +1400,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-text-field", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/create-a-text-field" }, "id": "bad87fee1348bd9aedf08829", "title": "Create a Text Field" @@ -1539,8 +1411,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/create-an-ordered-list", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/create-an-ordered-list" }, "id": "bad87fee1348bd9aedf08828", "title": "Create an Ordered List" @@ -1551,8 +1422,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/declare-the-doctype-of-an-html-document", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/declare-the-doctype-of-an-html-document" }, "id": "587d78aa367417b2b2512aed", "title": "Declare the Doctype of an HTML Document" @@ -1563,8 +1433,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/define-the-head-and-body-of-an-html-document", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/define-the-head-and-body-of-an-html-document" }, "id": "587d78aa367417b2b2512aec", "title": "Define the Head and Body of an HTML Document" @@ -1575,8 +1444,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/delete-html-elements", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/delete-html-elements" }, "id": "bad87fed1348bd9aedf08833", "title": "Delete HTML Elements" @@ -1587,8 +1455,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/fill-in-the-blank-with-placeholder-text", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/fill-in-the-blank-with-placeholder-text" }, "id": "bad87fee1348bd9aedf08833", "title": "Fill in the Blank with Placeholder Text" @@ -1599,8 +1466,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/headline-with-the-h2-element", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/headline-with-the-h2-element" }, "id": "bad87fee1348bd9aedf0887a", "title": "Headline with the h2 Element" @@ -1611,8 +1477,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/inform-with-the-paragraph-element", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/inform-with-the-paragraph-element" }, "id": "bad87fee1348bd9aedf08801", "title": "Inform with the Paragraph Element" @@ -1623,8 +1488,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/introduction-to-html5-elements", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/introduction-to-html5-elements" }, "id": "bad87fee1348bd9aecf08801", "title": "Introduction to HTML5 Elements" @@ -1635,8 +1499,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/link-to-external-pages-with-anchor-elements", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/link-to-external-pages-with-anchor-elements" }, "id": "bad87fee1348bd9aedf08816", "title": "Link to External Pages with Anchor Elements" @@ -1647,8 +1510,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/link-to-internal-sections-of-a-page-with-anchor-elements", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/link-to-internal-sections-of-a-page-with-anchor-elements" }, "id": "bad88fee1348bd9aedf08816", "title": "Link to Internal Sections of a Page with Anchor Elements" @@ -1659,8 +1521,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/make-dead-links-using-the-hash-symbol", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/make-dead-links-using-the-hash-symbol" }, "id": "bad87fee1348bd9aedf08817", "title": "Make Dead Links Using the Hash Symbol" @@ -1671,8 +1532,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/nest-an-anchor-element-within-a-paragraph", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/nest-an-anchor-element-within-a-paragraph" }, "id": "bad87fee1348bd9aede08817", "title": "Nest an Anchor Element within a Paragraph" @@ -1683,8 +1543,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/nest-many-elements-within-a-single-div-element", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/nest-many-elements-within-a-single-div-element" }, "id": "bad87fee1348bd9aede08835", "title": "Nest Many Elements within a Single div Element" @@ -1695,8 +1554,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/say-hello-to-html-elements", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/say-hello-to-html-elements" }, "id": "bd7123c8c441eddfaeb5bdef", "title": "Say Hello to HTML Elements" @@ -1707,8 +1565,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/turn-an-image-into-a-link", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/turn-an-image-into-a-link" }, "id": "bad87fee1348bd9aedf08820", "title": "Turn an Image into a Link" @@ -1719,8 +1576,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/uncomment-html", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/uncomment-html" }, "id": "bad87fee1348bd9aedf08802", "title": "Uncomment HTML" @@ -1731,8 +1587,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/use-html5-to-require-a-field", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/use-html5-to-require-a-field" }, "id": "bad87fee1348bd9aedc08830", "title": "Use HTML5 to Require a Field" @@ -1743,8 +1598,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/basic-html-and-html5/use-the-value-attribute-with-radio-buttons-and-checkboxes", - "blockName": "Basic HTML and HTML5" + "slug": "/learn/responsive-web-design/basic-html-and-html5/use-the-value-attribute-with-radio-buttons-and-checkboxes" }, "id": "5c6c06847491271903d37cfd", "title": "Use the value attribute with Radio Buttons and Checkboxes" @@ -1755,8 +1609,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/add-flex-superpowers-to-the-tweet-embed", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/add-flex-superpowers-to-the-tweet-embed" }, "id": "587d78ab367417b2b2512af1", "title": "Add Flex Superpowers to the Tweet Embed" @@ -1767,8 +1620,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/align-elements-using-the-align-items-property", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/align-elements-using-the-align-items-property" }, "id": "587d78ad367417b2b2512af8", "title": "Align Elements Using the align-items Property" @@ -1779,8 +1631,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property" }, "id": "587d78ac367417b2b2512af6", "title": "Align Elements Using the justify-content Property" @@ -1791,8 +1642,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-a-column-in-the-tweet-embed", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-a-column-in-the-tweet-embed" }, "id": "587d78ac367417b2b2512af5", "title": "Apply the flex-direction Property to Create a Column in the Tweet Embed" @@ -1803,8 +1653,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-rows-in-the-tweet-embed", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-rows-in-the-tweet-embed" }, "id": "587d78ab367417b2b2512af3", "title": "Apply the flex-direction Property to Create Rows in the Tweet Embed" @@ -1815,8 +1664,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-display-flex-to-position-two-boxes", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-display-flex-to-position-two-boxes" }, "id": "587d78ab367417b2b2512af0", "title": "Use display: flex to Position Two Boxes" @@ -1827,8 +1675,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-align-items-property-in-the-tweet-embed", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-align-items-property-in-the-tweet-embed" }, "id": "587d78ad367417b2b2512af9", "title": "Use the align-items Property in the Tweet Embed" @@ -1839,8 +1686,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-align-self-property", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-align-self-property" }, "id": "587d78af367417b2b2512b00", "title": "Use the align-self Property" @@ -1851,8 +1697,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-basis-property-to-set-the-initial-size-of-an-item", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-basis-property-to-set-the-initial-size-of-an-item" }, "id": "587d78ae367417b2b2512afd", "title": "Use the flex-basis Property to Set the Initial Size of an Item" @@ -1863,8 +1708,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-column", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-column" }, "id": "587d78ac367417b2b2512af4", "title": "Use the flex-direction Property to Make a Column" @@ -1875,8 +1719,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-row", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-row" }, "id": "587d78ab367417b2b2512af2", "title": "Use the flex-direction Property to Make a Row" @@ -1887,8 +1730,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-grow-property-to-expand-items", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-grow-property-to-expand-items" }, "id": "587d78ae367417b2b2512afc", "title": "Use the flex-grow Property to Expand Items" @@ -1899,8 +1741,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-shorthand-property", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-shorthand-property" }, "id": "587d78ae367417b2b2512afe", "title": "Use the flex Shorthand Property" @@ -1911,8 +1752,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-shrink-property-to-shrink-items", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-shrink-property-to-shrink-items" }, "id": "587d78ad367417b2b2512afb", "title": "Use the flex-shrink Property to Shrink Items" @@ -1923,8 +1763,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-wrap-property-to-wrap-a-row-or-column", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-flex-wrap-property-to-wrap-a-row-or-column" }, "id": "587d78ad367417b2b2512afa", "title": "Use the flex-wrap Property to Wrap a Row or Column" @@ -1935,8 +1774,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-justify-content-property-in-the-tweet-embed", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-justify-content-property-in-the-tweet-embed" }, "id": "587d78ac367417b2b2512af7", "title": "Use the justify-content Property in the Tweet Embed" @@ -1947,8 +1785,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-flexbox/use-the-order-property-to-rearrange-items", - "blockName": "CSS Flexbox" + "slug": "/learn/responsive-web-design/css-flexbox/use-the-order-property-to-rearrange-items" }, "id": "587d78ae367417b2b2512aff", "title": "Use the order Property to Rearrange Items" @@ -1959,8 +1796,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/add-columns-with-grid-template-columns", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/add-columns-with-grid-template-columns" }, "id": "5a9036d038fddaf9a66b5d32", "title": "Add Columns with grid-template-columns" @@ -1971,8 +1807,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/add-gaps-faster-with-grid-gap", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/add-gaps-faster-with-grid-gap" }, "id": "5a9036ee38fddaf9a66b5d37", "title": "Add Gaps Faster with grid-gap" @@ -1983,8 +1818,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/add-rows-with-grid-template-rows", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/add-rows-with-grid-template-rows" }, "id": "5a9036e138fddaf9a66b5d33", "title": "Add Rows with grid-template-rows" @@ -1995,8 +1829,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/align-all-items-horizontally-using-justify-items", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/align-all-items-horizontally-using-justify-items" }, "id": "5a90376038fddaf9a66b5d3c", "title": "Align All Items Horizontally using justify-items" @@ -2007,8 +1840,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/align-all-items-vertically-using-align-items", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/align-all-items-vertically-using-align-items" }, "id": "5a94fdf869fb03452672e45b", "title": "Align All Items Vertically using align-items" @@ -2019,8 +1851,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/align-an-item-horizontally-using-justify-self", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/align-an-item-horizontally-using-justify-self" }, "id": "5a90374338fddaf9a66b5d3a", "title": "Align an Item Horizontally using justify-self" @@ -2031,8 +1862,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/align-an-item-vertically-using-align-self", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/align-an-item-vertically-using-align-self" }, "id": "5a90375238fddaf9a66b5d3b", "title": "Align an Item Vertically using align-self" @@ -2043,8 +1873,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/create-a-column-gap-using-grid-column-gap", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/create-a-column-gap-using-grid-column-gap" }, "id": "5a9036ee38fddaf9a66b5d35", "title": "Create a Column Gap Using grid-column-gap" @@ -2055,8 +1884,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/create-a-row-gap-using-grid-row-gap", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/create-a-row-gap-using-grid-row-gap" }, "id": "5a9036ee38fddaf9a66b5d36", "title": "Create a Row Gap using grid-row-gap" @@ -2067,8 +1895,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/create-flexible-layouts-using-auto-fill", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/create-flexible-layouts-using-auto-fill" }, "id": "5a94fe5469fb03452672e461", "title": "Create Flexible Layouts Using auto-fill" @@ -2079,8 +1906,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/create-flexible-layouts-using-auto-fit", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/create-flexible-layouts-using-auto-fit" }, "id": "5a94fe6269fb03452672e462", "title": "Create Flexible Layouts Using auto-fit" @@ -2091,8 +1917,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/create-grids-within-grids", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/create-grids-within-grids" }, "id": "5a94fe8569fb03452672e464", "title": "Create Grids within Grids" @@ -2103,8 +1928,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/create-your-first-css-grid", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/create-your-first-css-grid" }, "id": "5a858944d96184f06fd60d61", "title": "Create Your First CSS Grid" @@ -2115,8 +1939,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/divide-the-grid-into-an-area-template", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/divide-the-grid-into-an-area-template" }, "id": "5a94fe0569fb03452672e45c", "title": "Divide the Grid Into an Area Template" @@ -2127,8 +1950,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/limit-item-size-using-the-minmax-function", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/limit-item-size-using-the-minmax-function" }, "id": "5a94fe4469fb03452672e460", "title": "Limit Item Size Using the minmax Function" @@ -2139,8 +1961,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/place-items-in-grid-areas-using-the-grid-area-property", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/place-items-in-grid-areas-using-the-grid-area-property" }, "id": "5a94fe1369fb03452672e45d", "title": "Place Items in Grid Areas Using the grid-area Property" @@ -2151,8 +1972,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/reduce-repetition-using-the-repeat-function", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/reduce-repetition-using-the-repeat-function" }, "id": "5a94fe3669fb03452672e45f", "title": "Reduce Repetition Using the repeat Function" @@ -2163,8 +1983,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/use-css-grid-units-to-change-the-size-of-columns-and-rows", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/use-css-grid-units-to-change-the-size-of-columns-and-rows" }, "id": "5a9036ee38fddaf9a66b5d34", "title": "Use CSS Grid units to Change the Size of Columns and Rows" @@ -2175,8 +1994,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/use-grid-area-without-creating-an-areas-template", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/use-grid-area-without-creating-an-areas-template" }, "id": "5a94fe2669fb03452672e45e", "title": "Use grid-area Without Creating an Areas Template" @@ -2187,8 +2005,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/use-grid-column-to-control-spacing", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/use-grid-column-to-control-spacing" }, "id": "5a90372638fddaf9a66b5d38", "title": "Use grid-column to Control Spacing" @@ -2199,8 +2016,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/use-grid-row-to-control-spacing", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/use-grid-row-to-control-spacing" }, "id": "5a90373638fddaf9a66b5d39", "title": "Use grid-row to Control Spacing" @@ -2211,8 +2027,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/css-grid/use-media-queries-to-create-responsive-layouts", - "blockName": "CSS Grid" + "slug": "/learn/responsive-web-design/css-grid/use-media-queries-to-create-responsive-layouts" }, "id": "5a94fe7769fb03452672e463", "title": "Use Media Queries to Create Responsive Layouts" @@ -2223,8 +2038,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/responsive-web-design-principles/create-a-media-query", - "blockName": "Responsive Web Design Principles" + "slug": "/learn/responsive-web-design/responsive-web-design-principles/create-a-media-query" }, "id": "587d78b0367417b2b2512b08", "title": "Create a Media Query" @@ -2235,8 +2049,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/responsive-web-design-principles/make-an-image-responsive", - "blockName": "Responsive Web Design Principles" + "slug": "/learn/responsive-web-design/responsive-web-design-principles/make-an-image-responsive" }, "id": "587d78b1367417b2b2512b09", "title": "Make an Image Responsive" @@ -2247,8 +2060,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/responsive-web-design-principles/make-typography-responsive", - "blockName": "Responsive Web Design Principles" + "slug": "/learn/responsive-web-design/responsive-web-design-principles/make-typography-responsive" }, "id": "587d78b1367417b2b2512b0c", "title": "Make Typography Responsive" @@ -2259,8 +2071,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/responsive-web-design-principles/use-a-retina-image-for-higher-resolution-displays", - "blockName": "Responsive Web Design Principles" + "slug": "/learn/responsive-web-design/responsive-web-design-principles/use-a-retina-image-for-higher-resolution-displays" }, "id": "587d78b1367417b2b2512b0a", "title": "Use a Retina Image for Higher Resolution Displays" @@ -2271,8 +2082,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-personal-portfolio-webpage", - "blockName": "Responsive Web Design Projects" + "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-personal-portfolio-webpage" }, "id": "bd7158d8c242eddfaeb5bd13", "title": "Build a Personal Portfolio Webpage" @@ -2283,8 +2093,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-product-landing-page", - "blockName": "Responsive Web Design Projects" + "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-product-landing-page" }, "id": "587d78af367417b2b2512b04", "title": "Build a Product Landing Page" @@ -2295,8 +2104,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-survey-form", - "blockName": "Responsive Web Design Projects" + "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-survey-form" }, "id": "587d78af367417b2b2512b03", "title": "Build a Survey Form" @@ -2307,8 +2115,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-technical-documentation-page", - "blockName": "Responsive Web Design Projects" + "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-technical-documentation-page" }, "id": "587d78b0367417b2b2512b05", "title": "Build a Technical Documentation Page" @@ -2319,8 +2126,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-tribute-page", - "blockName": "Responsive Web Design Projects" + "slug": "/learn/responsive-web-design/responsive-web-design-projects/build-a-tribute-page" }, "id": "bd7158d8c442eddfaeb5bd18", "title": "Build a Tribute Page" @@ -2331,8 +2137,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/boo-who", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/boo-who" }, "id": "a77dbc43c33f39daa4429b4f", "title": "Boo who" @@ -2343,8 +2148,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/chunky-monkey", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/chunky-monkey" }, "id": "a9bd25c716030ec90084d8a1", "title": "Chunky Monkey" @@ -2355,8 +2159,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending" }, "id": "acda2fb1324d9b0fa741e6b5", "title": "Confirm the Ending" @@ -2367,8 +2170,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit" }, "id": "56533eb9ac21ba0edf2244b3", "title": "Convert Celsius to Fahrenheit" @@ -2379,8 +2181,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/factorialize-a-number", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/factorialize-a-number" }, "id": "a302f7aae1aa3152a5b413bc", "title": "Factorialize a Number" @@ -2391,8 +2192,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer" }, "id": "adf08ec01beb4f99fc7a68f2", "title": "Falsy Bouncer" @@ -2403,8 +2203,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/find-the-longest-word-in-a-string", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/find-the-longest-word-in-a-string" }, "id": "a26cbbe9ad8655a977e1ceb5", "title": "Find the Longest Word in a String" @@ -2415,8 +2214,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/finders-keepers", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/finders-keepers" }, "id": "a6e40f1041b06c996f7b2406", "title": "Finders Keepers" @@ -2427,8 +2225,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/mutations", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/mutations" }, "id": "af2170cad53daa0770fabdea", "title": "Mutations" @@ -2439,8 +2236,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/repeat-a-string-repeat-a-string", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/repeat-a-string-repeat-a-string" }, "id": "afcc8d540bea9ea2669306b6", "title": "Repeat a String Repeat a String" @@ -2451,8 +2247,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/return-largest-numbers-in-arrays", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/return-largest-numbers-in-arrays" }, "id": "a789b3483989747d63b0e427", "title": "Return Largest Numbers in Arrays" @@ -2463,8 +2258,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/reverse-a-string", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/reverse-a-string" }, "id": "a202eed8fc186c8434cb6d61", "title": "Reverse a String" @@ -2475,8 +2269,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/slice-and-splice", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/slice-and-splice" }, "id": "579e2a2c335b9d72dd32e05c", "title": "Slice and Splice" @@ -2487,8 +2280,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/title-case-a-sentence", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/title-case-a-sentence" }, "id": "ab6137d4e35944e21037b769", "title": "Title Case a Sentence" @@ -2499,8 +2291,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/truncate-a-string", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/truncate-a-string" }, "id": "ac6993d51946422351508a41", "title": "Truncate a String" @@ -2511,8 +2302,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/where-do-i-belong", - "blockName": "Basic Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-algorithm-scripting/where-do-i-belong" }, "id": "a24c1a4622e3c05097f71d67", "title": "Where do I Belong" @@ -2523,8 +2313,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-an-arrays-contents-using-bracket-notation", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-an-arrays-contents-using-bracket-notation" }, "id": "5a661e0f1068aca922b3ef17", "title": "Access an Array's Contents Using Bracket Notation" @@ -2535,8 +2324,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-property-names-with-bracket-notation", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/access-property-names-with-bracket-notation" }, "id": "587d7b7c367417b2b2512b1a", "title": "Access Property Names with Bracket Notation" @@ -2547,8 +2335,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-to-an-array-with-push-and-unshift", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-to-an-array-with-push-and-unshift" }, "id": "587d78b2367417b2b2512b0e", "title": "Add Items to an Array with push() and unshift()" @@ -2559,8 +2346,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-using-splice", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-items-using-splice" }, "id": "587d78b3367417b2b2512b11", "title": "Add Items Using splice()" @@ -2571,8 +2357,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-key-value-pairs-to-javascript-objects", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/add-key-value-pairs-to-javascript-objects" }, "id": "587d7b7c367417b2b2512b18", "title": "Add Key-Value Pairs to JavaScript Objects" @@ -2583,8 +2368,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof" }, "id": "587d7b7b367417b2b2512b14", "title": "Check For The Presence of an Element With indexOf()" @@ -2595,8 +2379,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property" }, "id": "587d7b7d367417b2b2512b1c", "title": "Check if an Object has a Property" @@ -2607,8 +2390,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/combine-arrays-with-the-spread-operator", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/combine-arrays-with-the-spread-operator" }, "id": "587d7b7b367417b2b2512b17", "title": "Combine Arrays with the Spread Operator" @@ -2619,8 +2401,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-an-array-with-the-spread-operator", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-an-array-with-the-spread-operator" }, "id": "587d7b7b367417b2b2512b13", "title": "Copy an Array with the Spread Operator" @@ -2631,8 +2412,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-array-items-using-slice", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/copy-array-items-using-slice" }, "id": "587d7b7a367417b2b2512b12", "title": "Copy Array Items Using slice()" @@ -2643,8 +2423,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/create-complex-multi-dimensional-arrays", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/create-complex-multi-dimensional-arrays" }, "id": "587d7b7b367417b2b2512b16", "title": "Create complex multi-dimensional arrays" @@ -2655,8 +2434,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/generate-an-array-of-all-object-keys-with-object-keys", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/generate-an-array-of-all-object-keys-with-object-keys" }, "id": "587d7b7d367417b2b2512b1e", "title": "Generate an Array of All Object Keys with Object.keys()" @@ -2667,8 +2445,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-all-an-arrays-items-using-for-loops", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-all-an-arrays-items-using-for-loops" }, "id": "587d7b7b367417b2b2512b15", "title": "Iterate Through All an Array's Items Using For Loops" @@ -2679,8 +2456,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-the-keys-of-an-object-with-a-for---in-statement", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-the-keys-of-an-object-with-a-for---in-statement" }, "id": "587d7b7d367417b2b2512b1d", "title": "Iterate Through the Keys of an Object with a for...in Statement" @@ -2691,8 +2467,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-array-stored-in-an-object", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-array-stored-in-an-object" }, "id": "587d7b7d367417b2b2512b1f", "title": "Modify an Array Stored in an Object" @@ -2703,8 +2478,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-object-nested-within-an-object", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/modify-an-object-nested-within-an-object" }, "id": "587d7b7c367417b2b2512b19", "title": "Modify an Object Nested Within an Object" @@ -2715,8 +2489,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-from-an-array-with-pop-and-shift", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-from-an-array-with-pop-and-shift" }, "id": "587d78b2367417b2b2512b0f", "title": "Remove Items from an Array with pop() and shift()" @@ -2727,8 +2500,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice" }, "id": "587d78b2367417b2b2512b10", "title": "Remove Items Using splice()" @@ -2739,8 +2511,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data" }, "id": "587d7b7e367417b2b2512b20", "title": "Use an Array to Store a Collection of Data" @@ -2751,8 +2522,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-the-delete-keyword-to-remove-object-properties", - "blockName": "Basic Data Structures" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-data-structures/use-the-delete-keyword-to-remove-object-properties" }, "id": "587d7b7c367417b2b2512b1b", "title": "Use the delete Keyword to Remove Object Properties" @@ -2763,8 +2533,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes" }, "id": "56bbb991ad1ed5201cd392ca", "title": "Access Array Data with Indexes" @@ -2775,8 +2544,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/access-multi-dimensional-arrays-with-indexes", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/access-multi-dimensional-arrays-with-indexes" }, "id": "56592a60ddddeae28f7aa8e1", "title": "Access Multi-Dimensional Arrays With Indexes" @@ -2787,8 +2555,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-arrays", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-arrays" }, "id": "56533eb9ac21ba0edf2244cd", "title": "Accessing Nested Arrays" @@ -2799,8 +2566,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-objects", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-objects" }, "id": "56533eb9ac21ba0edf2244cc", "title": "Accessing Nested Objects" @@ -2811,8 +2577,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-bracket-notation", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-bracket-notation" }, "id": "56533eb9ac21ba0edf2244c8", "title": "Accessing Object Properties with Bracket Notation" @@ -2823,8 +2588,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-dot-notation", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-dot-notation" }, "id": "56533eb9ac21ba0edf2244c7", "title": "Accessing Object Properties with Dot Notation" @@ -2835,8 +2599,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-variables", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-variables" }, "id": "56533eb9ac21ba0edf2244c9", "title": "Accessing Object Properties with Variables" @@ -2847,8 +2610,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/add-new-properties-to-a-javascript-object", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/add-new-properties-to-a-javascript-object" }, "id": "56bbb991ad1ed5201cd392d2", "title": "Add New Properties to a JavaScript Object" @@ -2859,8 +2621,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/add-two-numbers-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/add-two-numbers-with-javascript" }, "id": "cf1111c1c11feddfaeb3bdef", "title": "Add Two Numbers with JavaScript" @@ -2871,8 +2632,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements" }, "id": "56533eb9ac21ba0edf2244de", "title": "Adding a Default Option in Switch Statements" @@ -2883,8 +2643,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/appending-variables-to-strings", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/appending-variables-to-strings" }, "id": "56533eb9ac21ba0edf2244ed", "title": "Appending Variables to Strings" @@ -2895,8 +2654,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/assigning-the-value-of-one-variable-to-another", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/assigning-the-value-of-one-variable-to-another" }, "id": "5ee127a03c3b35dd45426493", "title": "Assigning the Value of One Variable to Another" @@ -2907,8 +2665,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/assignment-with-a-returned-value", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/assignment-with-a-returned-value" }, "id": "56533eb9ac21ba0edf2244c3", "title": "Assignment with a Returned Value" @@ -2919,8 +2676,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects" }, "id": "56bbb991ad1ed5201cd392d0", "title": "Build JavaScript Objects" @@ -2931,8 +2687,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/chaining-if-else-statements", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/chaining-if-else-statements" }, "id": "56533eb9ac21ba0edf2244dc", "title": "Chaining If Else Statements" @@ -2943,8 +2698,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comment-your-javascript-code", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comment-your-javascript-code" }, "id": "bd7123c9c441eddfaeb4bdef", "title": "Comment Your JavaScript Code" @@ -2955,8 +2709,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator" }, "id": "56533eb9ac21ba0edf2244d0", "title": "Comparison with the Equality Operator" @@ -2967,8 +2720,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-operator" }, "id": "56533eb9ac21ba0edf2244d4", "title": "Comparison with the Greater Than Operator" @@ -2979,8 +2731,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-or-equal-to-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-or-equal-to-operator" }, "id": "56533eb9ac21ba0edf2244d5", "title": "Comparison with the Greater Than Or Equal To Operator" @@ -2991,8 +2742,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator" }, "id": "56533eb9ac21ba0edf2244d2", "title": "Comparison with the Inequality Operator" @@ -3003,8 +2753,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-operator" }, "id": "56533eb9ac21ba0edf2244d6", "title": "Comparison with the Less Than Operator" @@ -3015,8 +2764,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-or-equal-to-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-or-equal-to-operator" }, "id": "56533eb9ac21ba0edf2244d7", "title": "Comparison with the Less Than Or Equal To Operator" @@ -3027,8 +2775,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-equality-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-equality-operator" }, "id": "56533eb9ac21ba0edf2244d1", "title": "Comparison with the Strict Equality Operator" @@ -3039,8 +2786,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-inequality-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-inequality-operator" }, "id": "56533eb9ac21ba0edf2244d3", "title": "Comparison with the Strict Inequality Operator" @@ -3051,8 +2797,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-and-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-and-operator" }, "id": "56533eb9ac21ba0edf2244d8", "title": "Comparisons with the Logical And Operator" @@ -3063,8 +2808,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator" }, "id": "56533eb9ac21ba0edf2244d9", "title": "Comparisons with the Logical Or Operator" @@ -3075,8 +2819,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-addition", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-addition" }, "id": "56533eb9ac21ba0edf2244af", "title": "Compound Assignment With Augmented Addition" @@ -3087,8 +2830,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-division", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-division" }, "id": "56533eb9ac21ba0edf2244b2", "title": "Compound Assignment With Augmented Division" @@ -3099,8 +2841,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-multiplication", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-multiplication" }, "id": "56533eb9ac21ba0edf2244b1", "title": "Compound Assignment With Augmented Multiplication" @@ -3111,8 +2852,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-subtraction", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-subtraction" }, "id": "56533eb9ac21ba0edf2244b0", "title": "Compound Assignment With Augmented Subtraction" @@ -3123,8 +2863,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-plus-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-plus-operator" }, "id": "56533eb9ac21ba0edf2244b7", "title": "Concatenating Strings with Plus Operator" @@ -3135,8 +2874,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-the-plus-equals-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-the-plus-equals-operator" }, "id": "56533eb9ac21ba0edf2244b8", "title": "Concatenating Strings with the Plus Equals Operator" @@ -3147,8 +2885,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/constructing-strings-with-variables", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/constructing-strings-with-variables" }, "id": "56533eb9ac21ba0edf2244b9", "title": "Constructing Strings with Variables" @@ -3159,8 +2896,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop" }, "id": "56105e7b514f539506016a5e", "title": "Count Backwards With a For Loop" @@ -3171,8 +2907,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/counting-cards", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/counting-cards" }, "id": "565bbe00e9cc8ac0725390f4", "title": "Counting Cards" @@ -3183,8 +2918,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/create-decimal-numbers-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/create-decimal-numbers-with-javascript" }, "id": "cf1391c1c11feddfaeb4bdef", "title": "Create Decimal Numbers with JavaScript" @@ -3195,8 +2929,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword" }, "id": "587d7b87367417b2b2512b41", "title": "Declare a Read-Only Variable with the const Keyword" @@ -3207,8 +2940,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables" }, "id": "bd7123c9c443eddfaeb5bdef", "title": "Declare JavaScript Variables" @@ -3219,8 +2951,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables" }, "id": "bd7123c9c444eddfaeb5bdef", "title": "Declare String Variables" @@ -3231,8 +2962,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/decrement-a-number-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/decrement-a-number-with-javascript" }, "id": "56533eb9ac21ba0edf2244ad", "title": "Decrement a Number with JavaScript" @@ -3243,8 +2973,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/delete-properties-from-a-javascript-object", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/delete-properties-from-a-javascript-object" }, "id": "56bbb991ad1ed5201cd392d3", "title": "Delete Properties from a JavaScript Object" @@ -3255,8 +2984,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript" }, "id": "bd7993c9ca9feddfaeb7bdef", "title": "Divide One Decimal by Another with JavaScript" @@ -3267,8 +2995,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-number-by-another-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/divide-one-number-by-another-with-javascript" }, "id": "cf1111c1c11feddfaeb6bdef", "title": "Divide One Number by Another with JavaScript" @@ -3279,8 +3006,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings" }, "id": "56533eb9ac21ba0edf2244b6", "title": "Escape Sequences in Strings" @@ -3291,8 +3017,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings" }, "id": "56533eb9ac21ba0edf2244b5", "title": "Escaping Literal Quotes in Strings" @@ -3303,8 +3028,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/explore-differences-between-the-var-and-let-keywords", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/explore-differences-between-the-var-and-let-keywords" }, "id": "587d7b87367417b2b2512b3f", "title": "Explore Differences Between the var and let Keywords" @@ -3315,8 +3039,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string" }, "id": "bd7123c9c448eddfaeb5bdef", "title": "Find the Length of a String" @@ -3327,8 +3050,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript" }, "id": "56533eb9ac21ba0edf2244ae", "title": "Finding a Remainder in JavaScript" @@ -3339,8 +3061,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-fractions-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-fractions-with-javascript" }, "id": "cf1111c1c11feddfaeb9bdef", "title": "Generate Random Fractions with JavaScript" @@ -3351,8 +3072,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript" }, "id": "cf1111c1c12feddfaeb1bdef", "title": "Generate Random Whole Numbers with JavaScript" @@ -3363,8 +3083,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-within-a-range", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-within-a-range" }, "id": "cf1111c1c12feddfaeb2bdef", "title": "Generate Random Whole Numbers within a Range" @@ -3375,8 +3094,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions" }, "id": "56533eb9ac21ba0edf2244be", "title": "Global Scope and Functions" @@ -3387,8 +3105,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/global-vs--local-scope-in-functions", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/global-vs--local-scope-in-functions" }, "id": "56533eb9ac21ba0edf2244c0", "title": "Global vs. Local Scope in Functions" @@ -3399,8 +3116,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/golf-code", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/golf-code" }, "id": "5664820f61c48e80c9fa476c", "title": "Golf Code" @@ -3411,8 +3127,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/increment-a-number-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/increment-a-number-with-javascript" }, "id": "56533eb9ac21ba0edf2244ac", "title": "Increment a Number with JavaScript" @@ -3423,8 +3138,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator" }, "id": "56533eb9ac21ba0edf2244a9", "title": "Initializing Variables with the Assignment Operator" @@ -3435,8 +3149,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-if-statements", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-if-statements" }, "id": "56533eb9ac21ba0edf2244db", "title": "Introducing Else If Statements" @@ -3447,8 +3160,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-statements", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/introducing-else-statements" }, "id": "56533eb9ac21ba0edf2244da", "title": "Introducing Else Statements" @@ -3459,8 +3171,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop" }, "id": "56104e9e514f539506016a5c", "title": "Iterate Odd Numbers With a For Loop" @@ -3471,8 +3182,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop" }, "id": "5675e877dbd60be8ad28edc6", "title": "Iterate Through an Array with a For Loop" @@ -3483,8 +3193,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do---while-loops", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do---while-loops" }, "id": "5a2efd662fb457916e1fe604", "title": "Iterate with JavaScript Do...While Loops" @@ -3495,8 +3204,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-for-loops", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-for-loops" }, "id": "cf1111c1c11feddfaeb5bdef", "title": "Iterate with JavaScript For Loops" @@ -3507,8 +3215,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-while-loops", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-while-loops" }, "id": "cf1111c1c11feddfaeb1bdef", "title": "Iterate with JavaScript While Loops" @@ -3519,8 +3226,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions" }, "id": "56533eb9ac21ba0edf2244bf", "title": "Local Scope and Functions" @@ -3531,8 +3237,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements" }, "id": "5690307fddb111c6084545d7", "title": "Logical Order in If Else Statements" @@ -3543,8 +3248,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-pop", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-pop" }, "id": "56bbb991ad1ed5201cd392cc", "title": "Manipulate Arrays With pop()" @@ -3555,8 +3259,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-push", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-push" }, "id": "56bbb991ad1ed5201cd392cb", "title": "Manipulate Arrays With push()" @@ -3567,8 +3270,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-shift", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-shift" }, "id": "56bbb991ad1ed5201cd392cd", "title": "Manipulate Arrays With shift()" @@ -3579,8 +3281,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-unshift", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-unshift" }, "id": "56bbb991ad1ed5201cd392ce", "title": "Manipulate Arrays With unshift()" @@ -3591,8 +3292,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulating-complex-objects", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/manipulating-complex-objects" }, "id": "56533eb9ac21ba0edf2244cb", "title": "Manipulating Complex Objects" @@ -3603,8 +3303,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes" }, "id": "cf1111c1c11feddfaeb8bdef", "title": "Modify Array Data With Indexes" @@ -3615,8 +3314,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/multiple-identical-options-in-switch-statements", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/multiple-identical-options-in-switch-statements" }, "id": "56533eb9ac21ba0edf2244df", "title": "Multiple Identical Options in Switch Statements" @@ -3627,8 +3325,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-decimals-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-decimals-with-javascript" }, "id": "bd7993c9c69feddfaeb7bdef", "title": "Multiply Two Decimals with JavaScript" @@ -3639,8 +3336,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-numbers-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/multiply-two-numbers-with-javascript" }, "id": "cf1231c1c11feddfaeb5bdef", "title": "Multiply Two Numbers with JavaScript" @@ -3651,8 +3347,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array" }, "id": "cf1111c1c11feddfaeb7bdef", "title": "Nest one Array within Another Array" @@ -3663,8 +3358,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops" }, "id": "56533eb9ac21ba0edf2244e1", "title": "Nesting For Loops" @@ -3675,8 +3369,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/passing-values-to-functions-with-arguments", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/passing-values-to-functions-with-arguments" }, "id": "56533eb9ac21ba0edf2244bd", "title": "Passing Values to Functions with Arguments" @@ -3687,8 +3380,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/practice-comparing-different-values", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/practice-comparing-different-values" }, "id": "599a789b454f2bbd91a3ff4d", "title": "Practice comparing different values" @@ -3699,8 +3391,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/profile-lookup" }, "id": "5688e62ea601b2482ff8422b", "title": "Profile Lookup" @@ -3711,8 +3402,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes" }, "id": "56533eb9ac21ba0edf2244b4", "title": "Quoting Strings with Single Quotes" @@ -3723,8 +3413,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/record-collection", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/record-collection" }, "id": "56533eb9ac21ba0edf2244cf", "title": "Record Collection" @@ -3735,8 +3424,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion" }, "id": "5cfa3679138e7d9595b9d9d4", "title": "Replace Loops using Recursion" @@ -3747,8 +3435,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/replacing-if-else-chains-with-switch", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/replacing-if-else-chains-with-switch" }, "id": "56533eb9ac21ba0edf2244e0", "title": "Replacing If Else Chains with Switch" @@ -3759,8 +3446,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/return-a-value-from-a-function-with-return", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/return-a-value-from-a-function-with-return" }, "id": "56533eb9ac21ba0edf2244c2", "title": "Return a Value from a Function with Return" @@ -3771,8 +3457,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions" }, "id": "56533eb9ac21ba0edf2244c4", "title": "Return Early Pattern for Functions" @@ -3783,8 +3468,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions" }, "id": "5679ceb97cbaa8c51670a16b", "title": "Returning Boolean Values from Functions" @@ -3795,8 +3479,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/selecting-from-many-options-with-switch-statements", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/selecting-from-many-options-with-switch-statements" }, "id": "56533eb9ac21ba0edf2244dd", "title": "Selecting from Many Options with Switch Statements" @@ -3807,8 +3490,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/shopping-list", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/shopping-list" }, "id": "56533eb9ac21ba0edf2244bc", "title": "Shopping List" @@ -3819,8 +3501,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/stand-in-line", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/stand-in-line" }, "id": "56533eb9ac21ba0edf2244c6", "title": "Stand in Line" @@ -3831,8 +3512,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/store-multiple-values-in-one-variable-using-javascript-arrays", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/store-multiple-values-in-one-variable-using-javascript-arrays" }, "id": "bd7993c9c69feddfaeb8bdef", "title": "Store Multiple Values in one Variable using JavaScript Arrays" @@ -3843,8 +3523,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator" }, "id": "56533eb9ac21ba0edf2244a8", "title": "Storing Values with the Assignment Operator" @@ -3855,8 +3534,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript" }, "id": "cf1111c1c11feddfaeb4bdef", "title": "Subtract One Number from Another with JavaScript" @@ -3867,8 +3545,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/testing-objects-for-properties", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/testing-objects-for-properties" }, "id": "567af2437cbaa8c51670a16c", "title": "Testing Objects for Properties" @@ -3879,8 +3556,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understand-string-immutability", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understand-string-immutability" }, "id": "56533eb9ac21ba0edf2244ba", "title": "Understand String Immutability" @@ -3891,8 +3567,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values" }, "id": "bd7123c9c441eddfaeb5bdef", "title": "Understanding Boolean Values" @@ -3903,8 +3578,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables" }, "id": "56533eb9ac21ba0edf2244ab", "title": "Understanding Case Sensitivity in Variables" @@ -3915,8 +3589,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function" }, "id": "598e8944f009e646fc236146", "title": "Understanding Undefined Value returned from a Function" @@ -3927,8 +3600,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables" }, "id": "56533eb9ac21ba0edf2244aa", "title": "Understanding Uninitialized Variables" @@ -3939,8 +3611,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/updating-object-properties", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/updating-object-properties" }, "id": "56bbb991ad1ed5201cd392d1", "title": "Updating Object Properties" @@ -3951,8 +3622,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-first-character-in-a-string", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-first-character-in-a-string" }, "id": "bd7123c9c549eddfaeb5bdef", "title": "Use Bracket Notation to Find the First Character in a String" @@ -3963,8 +3633,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-last-character-in-a-string", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-last-character-in-a-string" }, "id": "bd7123c9c451eddfaeb5bdef", "title": "Use Bracket Notation to Find the Last Character in a String" @@ -3975,8 +3644,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-character-in-a-string", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-character-in-a-string" }, "id": "bd7123c9c450eddfaeb5bdef", "title": "Use Bracket Notation to Find the Nth Character in a String" @@ -3987,8 +3655,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-to-last-character-in-a-string", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-to-last-character-in-a-string" }, "id": "bd7123c9c452eddfaeb5bdef", "title": "Use Bracket Notation to Find the Nth-to-Last Character in a String" @@ -3999,8 +3666,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-conditional-logic-with-if-statements", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-conditional-logic-with-if-statements" }, "id": "cf1111c1c12feddfaeb3bdef", "title": "Use Conditional Logic with If Statements" @@ -4011,8 +3677,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators" }, "id": "587d7b7e367417b2b2512b21", "title": "Use Multiple Conditional (Ternary) Operators" @@ -4023,8 +3688,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown" }, "id": "5cd9a70215d3c4e65518328f", "title": "Use Recursion to Create a Countdown" @@ -4035,8 +3699,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers" }, "id": "5cc0bd7a49b71cb96132e54c", "title": "Use Recursion to Create a Range of Numbers" @@ -4047,8 +3710,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-conditional-ternary-operator", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-conditional-ternary-operator" }, "id": "587d7b7e367417b2b2512b24", "title": "Use the Conditional (Ternary) Operator" @@ -4059,8 +3721,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function-with-a-radix", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function-with-a-radix" }, "id": "587d7b7e367417b2b2512b22", "title": "Use the parseInt Function with a Radix" @@ -4071,8 +3732,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function" }, "id": "587d7b7e367417b2b2512b23", "title": "Use the parseInt Function" @@ -4083,8 +3743,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups" }, "id": "56533eb9ac21ba0edf2244ca", "title": "Using Objects for Lookups" @@ -4095,8 +3754,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/word-blanks", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/word-blanks" }, "id": "56533eb9ac21ba0edf2244bb", "title": "Word Blanks" @@ -4107,8 +3765,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions", - "blockName": "Basic JavaScript" + "slug": "/learn/javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions" }, "id": "56bbb991ad1ed5201cd392cf", "title": "Write Reusable JavaScript with Functions" @@ -4119,8 +3776,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-arguments-passed-in-the-wrong-order-when-calling-a-function", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-arguments-passed-in-the-wrong-order-when-calling-a-function" }, "id": "587d7b85367417b2b2512b3a", "title": "Catch Arguments Passed in the Wrong Order When Calling a Function" @@ -4131,8 +3787,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-missing-open-and-closing-parenthesis-after-a-function-call", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-missing-open-and-closing-parenthesis-after-a-function-call" }, "id": "587d7b85367417b2b2512b39", "title": "Catch Missing Open and Closing Parenthesis After a Function Call" @@ -4143,8 +3798,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-misspelled-variable-and-function-names", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-misspelled-variable-and-function-names" }, "id": "587d7b84367417b2b2512b35", "title": "Catch Misspelled Variable and Function Names" @@ -4155,8 +3809,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes" }, "id": "587d7b84367417b2b2512b37", "title": "Catch Mixed Usage of Single and Double Quotes" @@ -4167,8 +3820,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-off-by-one-errors-when-using-indexing", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-off-by-one-errors-when-using-indexing" }, "id": "587d7b86367417b2b2512b3b", "title": "Catch Off By One Errors When Using Indexing" @@ -4179,8 +3831,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes" }, "id": "587d7b84367417b2b2512b36", "title": "Catch Unclosed Parentheses, Brackets, Braces and Quotes" @@ -4191,8 +3842,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator" }, "id": "587d7b85367417b2b2512b38", "title": "Catch Use of Assignment Operator Instead of Equality Operator" @@ -4203,8 +3853,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/prevent-infinite-loops-with-a-valid-terminal-condition", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/prevent-infinite-loops-with-a-valid-terminal-condition" }, "id": "587d7b86367417b2b2512b3d", "title": "Prevent Infinite Loops with a Valid Terminal Condition" @@ -4215,8 +3864,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console" }, "id": "587d7b83367417b2b2512b37", "title": "Understanding the Differences between the freeCodeCamp and Browser Console" @@ -4227,8 +3875,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/use-caution-when-reinitializing-variables-inside-a-loop", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/use-caution-when-reinitializing-variables-inside-a-loop" }, "id": "587d7b86367417b2b2512b3c", "title": "Use Caution When Reinitializing Variables Inside a Loop" @@ -4239,8 +3886,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/use-the-javascript-console-to-check-the-value-of-a-variable", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/use-the-javascript-console-to-check-the-value-of-a-variable" }, "id": "587d7b83367417b2b2512b33", "title": "Use the JavaScript Console to Check the Value of a Variable" @@ -4251,8 +3897,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/debugging/use-typeof-to-check-the-type-of-a-variable", - "blockName": "Debugging" + "slug": "/learn/javascript-algorithms-and-data-structures/debugging/use-typeof-to-check-the-type-of-a-variable" }, "id": "587d7b84367417b2b2512b34", "title": "Use typeof to Check the Type of a Variable" @@ -4263,8 +3908,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords" }, "id": "587d7b87367417b2b2512b40", "title": "Compare Scopes of the var and let Keywords" @@ -4275,8 +3919,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/complete-a-promise-with-resolve-and-reject", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/complete-a-promise-with-resolve-and-reject" }, "id": "5cdafbc32913098997531680", "title": "Complete a Promise with resolve and reject" @@ -4287,8 +3930,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/create-a-javascript-promise", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/create-a-javascript-promise" }, "id": "5cdafbb0291309899753167f", "title": "Create a JavaScript Promise" @@ -4299,8 +3941,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/create-a-module-script", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/create-a-module-script" }, "id": "5cddbfd622f1a59093ec611d", "title": "Create a Module Script" @@ -4311,8 +3952,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/create-an-export-fallback-with-export-default", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/create-an-export-fallback-with-export-default" }, "id": "587d7b8c367417b2b2512b58", "title": "Create an Export Fallback with export default" @@ -4323,8 +3963,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals" }, "id": "587d7b8a367417b2b2512b4e", "title": "Create Strings using Template Literals" @@ -4335,8 +3974,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/handle-a-fulfilled-promise-with-then", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/handle-a-fulfilled-promise-with-then" }, "id": "5cdafbd72913098997531681", "title": "Handle a Fulfilled Promise with then" @@ -4347,8 +3985,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/handle-a-rejected-promise-with-catch", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/handle-a-rejected-promise-with-catch" }, "id": "5cdafbe72913098997531682", "title": "Handle a Rejected Promise with catch" @@ -4359,8 +3996,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/import-a-default-export", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/import-a-default-export" }, "id": "587d7b8d367417b2b2512b59", "title": "Import a Default Export" @@ -4371,8 +4007,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const" }, "id": "587d7b87367417b2b2512b42", "title": "Mutate an Array Declared with const" @@ -4383,8 +4018,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/prevent-object-mutation", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/prevent-object-mutation" }, "id": "598f48a36c8c40764b4e52b3", "title": "Prevent Object Mutation" @@ -4395,8 +4029,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/reuse-javascript-code-using-import", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/reuse-javascript-code-using-import" }, "id": "587d7b8c367417b2b2512b55", "title": "Reuse JavaScript Code Using import" @@ -4407,8 +4040,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/set-default-parameters-for-your-functions", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/set-default-parameters-for-your-functions" }, "id": "587d7b88367417b2b2512b46", "title": "Set Default Parameters for Your Functions" @@ -4419,8 +4051,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use--to-import-everything-from-a-file", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use--to-import-everything-from-a-file" }, "id": "587d7b8c367417b2b2512b57", "title": "Use * to Import Everything from a File" @@ -4431,8 +4062,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-arrow-functions-to-write-concise-anonymous-functions", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-arrow-functions-to-write-concise-anonymous-functions" }, "id": "587d7b87367417b2b2512b43", "title": "Use Arrow Functions to Write Concise Anonymous Functions" @@ -4443,8 +4073,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-class-syntax-to-define-a-constructor-function", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-class-syntax-to-define-a-constructor-function" }, "id": "587d7b8b367417b2b2512b53", "title": "Use class Syntax to Define a Constructor Function" @@ -4455,8 +4084,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-arrays", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-arrays" }, "id": "587d7b89367417b2b2512b4b", "title": "Use Destructuring Assignment to Assign Variables from Arrays" @@ -4467,8 +4095,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-nested-objects", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-nested-objects" }, "id": "587d7b89367417b2b2512b4a", "title": "Use Destructuring Assignment to Assign Variables from Nested Objects" @@ -4479,8 +4106,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects" }, "id": "587d7b89367417b2b2512b49", "title": "Use Destructuring Assignment to Assign Variables from Objects" @@ -4491,8 +4117,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-extract-values-from-objects", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-extract-values-from-objects" }, "id": "5cfa550e84205a357704ccb6", "title": "Use Destructuring Assignment to Extract Values from Objects" @@ -4503,8 +4128,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters" }, "id": "587d7b8a367417b2b2512b4d", "title": "Use Destructuring Assignment to Pass an Object as a Function's Parameters" @@ -4515,8 +4139,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements" }, "id": "587d7b8a367417b2b2512b4c", "title": "Use Destructuring Assignment with the Rest Parameter to Reassign Array Elements" @@ -4527,8 +4150,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-export-to-share-a-code-block", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-export-to-share-a-code-block" }, "id": "587d7b8c367417b2b2512b56", "title": "Use export to Share a Code Block" @@ -4539,8 +4161,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-getters-and-setters-to-control-access-to-an-object", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-getters-and-setters-to-control-access-to-an-object" }, "id": "587d7b8c367417b2b2512b54", "title": "Use getters and setters to Control Access to an Object" @@ -4551,8 +4172,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters" }, "id": "587d7b88367417b2b2512b47", "title": "Use the Rest Parameter with Function Parameters" @@ -4563,8 +4183,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-the-spread-operator-to-evaluate-arrays-in-place", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/use-the-spread-operator-to-evaluate-arrays-in-place" }, "id": "587d7b89367417b2b2512b48", "title": "Use the Spread Operator to Evaluate Arrays In-Place" @@ -4575,8 +4194,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters" }, "id": "587d7b88367417b2b2512b44", "title": "Write Arrow Functions with Parameters" @@ -4587,8 +4205,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/write-concise-declarative-functions-with-es6", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/write-concise-declarative-functions-with-es6" }, "id": "587d7b8b367417b2b2512b50", "title": "Write Concise Declarative Functions with ES6" @@ -4599,8 +4216,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand", - "blockName": "ES6" + "slug": "/learn/javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand" }, "id": "587d7b8a367417b2b2512b4f", "title": "Write Concise Object Literal Declarations Using Object Property Shorthand" @@ -4611,8 +4227,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push" }, "id": "587d7da9367417b2b2512b67", "title": "Add Elements to the End of an Array Using concat Instead of push" @@ -4623,8 +4238,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs" }, "id": "587d7dab367417b2b2512b6d", "title": "Apply Functional Programming to Convert Strings to URL Slugs" @@ -4635,8 +4249,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming" }, "id": "587d7b8e367417b2b2512b5e", "title": "Avoid Mutations and Side Effects Using Functional Programming" @@ -4647,8 +4260,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method" }, "id": "587d7daa367417b2b2512b6c", "title": "Combine an Array into a String Using the join Method" @@ -4659,8 +4271,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/combine-two-arrays-using-the-concat-method", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/combine-two-arrays-using-the-concat-method" }, "id": "587d7da9367417b2b2512b66", "title": "Combine Two Arrays Using the concat Method" @@ -4671,8 +4282,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype" }, "id": "587d7b8f367417b2b2512b62", "title": "Implement map on a Prototype" @@ -4683,8 +4293,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype" }, "id": "587d7b8f367417b2b2512b64", "title": "Implement the filter Method on a Prototype" @@ -4695,8 +4304,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application" }, "id": "587d7dab367417b2b2512b70", "title": "Introduction to Currying and Partial Application" @@ -4707,8 +4315,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming" }, "id": "587d7b8d367417b2b2512b5b", "title": "Learn About Functional Programming" @@ -4719,8 +4326,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function" }, "id": "587d7b8e367417b2b2512b5f", "title": "Pass Arguments to Avoid External Dependence in a Function" @@ -4731,8 +4337,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions" }, "id": "587d7b8f367417b2b2512b60", "title": "Refactor Global Variables Out of Functions" @@ -4743,8 +4348,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice" }, "id": "9d7123c8c441eeafaeb5bdef", "title": "Remove Elements from an Array Using slice Instead of splice" @@ -4755,8 +4359,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array" }, "id": "587d7da9367417b2b2512b6a", "title": "Return a Sorted Array Without Changing the Original Array" @@ -4767,8 +4370,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method" }, "id": "587d7b90367417b2b2512b65", "title": "Return Part of an Array Using the slice Method" @@ -4779,8 +4381,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method" }, "id": "587d7da9367417b2b2512b69", "title": "Sort an Array Alphabetically using the sort Method" @@ -4791,8 +4392,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/split-a-string-into-an-array-using-the-split-method", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/split-a-string-into-an-array-using-the-split-method" }, "id": "587d7daa367417b2b2512b6b", "title": "Split a String into an Array Using the split Method" @@ -4803,8 +4403,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/understand-functional-programming-terminology", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/understand-functional-programming-terminology" }, "id": "587d7b8e367417b2b2512b5c", "title": "Understand Functional Programming Terminology" @@ -4815,8 +4414,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code" }, "id": "587d7b8e367417b2b2512b5d", "title": "Understand the Hazards of Using Imperative Code" @@ -4827,8 +4425,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-higher-order-functions-map-filter-or-reduce-to-solve-a-complex-problem", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-higher-order-functions-map-filter-or-reduce-to-solve-a-complex-problem" }, "id": "587d7b88367417b2b2512b45", "title": "Use Higher-Order Functions map, filter, or reduce to Solve a Complex Problem" @@ -4839,8 +4436,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria" }, "id": "587d7dab367417b2b2512b6e", "title": "Use the every Method to Check that Every Element in an Array Meets a Criteria" @@ -4851,8 +4447,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array" }, "id": "587d7b8f367417b2b2512b63", "title": "Use the filter Method to Extract Data from an Array" @@ -4863,8 +4458,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array" }, "id": "587d7b8f367417b2b2512b61", "title": "Use the map Method to Extract Data from an Array" @@ -4875,8 +4469,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-reduce-method-to-analyze-data", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-reduce-method-to-analyze-data" }, "id": "587d7da9367417b2b2512b68", "title": "Use the reduce Method to Analyze Data" @@ -4887,8 +4480,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria", - "blockName": "Functional Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/functional-programming/use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria" }, "id": "587d7dab367417b2b2512b6f", "title": "Use the some Method to Check that Any Elements in an Array Meet a Criteria" @@ -4899,8 +4491,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional" }, "id": "a97fd23d9b809dac9921074f", "title": "Arguments Optional" @@ -4911,8 +4502,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/binary-agents", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/binary-agents" }, "id": "a8d97bd4c764e91f9d2bda01", "title": "Binary Agents" @@ -4923,8 +4513,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/convert-html-entities", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/convert-html-entities" }, "id": "a6b0bb188d873cb2c8729495", "title": "Convert HTML Entities" @@ -4935,8 +4524,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/diff-two-arrays", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/diff-two-arrays" }, "id": "a5de63ebea8dbee56860f4f2", "title": "Diff Two Arrays" @@ -4947,8 +4535,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing" }, "id": "afd15382cdfb22c9efe8b7de", "title": "DNA Pairing" @@ -4959,8 +4546,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/drop-it", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/drop-it" }, "id": "a5deed1811a43193f9f1c841", "title": "Drop it" @@ -4971,8 +4557,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true" }, "id": "a10d2431ad0c6a099a4b8b52", "title": "Everything Be True" @@ -4983,8 +4568,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person" }, "id": "a2f1d72d9b908d0bd72bb9f6", "title": "Make a Person" @@ -4995,8 +4579,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/map-the-debris", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/map-the-debris" }, "id": "af4afb223120f7348cdfc9fd", "title": "Map the Debris" @@ -5007,8 +4590,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/missing-letters", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/missing-letters" }, "id": "af7588ade1100bde429baf20", "title": "Missing letters" @@ -5019,8 +4601,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/pig-latin", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/pig-latin" }, "id": "aa7697ea2477d1316795783b", "title": "Pig Latin" @@ -5031,8 +4612,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace" }, "id": "a0b5010f579e69b815e7c5d6", "title": "Search and Replace" @@ -5043,8 +4623,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/seek-and-destroy", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/seek-and-destroy" }, "id": "a39963a4c10bc8b4d4f06d7e", "title": "Seek and Destroy" @@ -5055,8 +4634,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/smallest-common-multiple", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/smallest-common-multiple" }, "id": "ae9defd7acaf69703ab432ea", "title": "Smallest Common Multiple" @@ -5067,8 +4645,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union" }, "id": "a105e963526e7de52b219be9", "title": "Sorted Union" @@ -5079,8 +4656,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/spinal-tap-case", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/spinal-tap-case" }, "id": "a103376db3ba46b2d50db289", "title": "Spinal Tap Case" @@ -5091,8 +4667,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller" }, "id": "ab306dbdcc907c7ddfc30830", "title": "Steamroller" @@ -5103,8 +4678,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range" }, "id": "a3566b1109230028080c9345", "title": "Sum All Numbers in a Range" @@ -5115,8 +4689,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers" }, "id": "a5229172f011153519423690", "title": "Sum All Odd Fibonacci Numbers" @@ -5127,8 +4700,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-primes", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-primes" }, "id": "a3bfc1673c0526e06d3ac698", "title": "Sum All Primes" @@ -5139,8 +4711,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/wherefore-art-thou", - "blockName": "Intermediate Algorithm Scripting" + "slug": "/learn/javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/wherefore-art-thou" }, "id": "a8e512fbe388ac2f9198f0fa", "title": "Wherefore art thou" @@ -5151,8 +4722,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher", - "blockName": "JavaScript Algorithms and Data Structures Projects" + "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher" }, "id": "56533eb9ac21ba0edf2244e2", "title": "Caesars Cipher" @@ -5163,8 +4733,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register", - "blockName": "JavaScript Algorithms and Data Structures Projects" + "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register" }, "id": "aa2e6f85cab2ab736c9a9b24", "title": "Cash Register" @@ -5175,8 +4744,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/palindrome-checker", - "blockName": "JavaScript Algorithms and Data Structures Projects" + "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/palindrome-checker" }, "id": "aaa48de84e1ecc7c742e1124", "title": "Palindrome Checker" @@ -5187,8 +4755,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter", - "blockName": "JavaScript Algorithms and Data Structures Projects" + "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter" }, "id": "a7f4d8f2483413a6ce226cac", "title": "Roman Numeral Converter" @@ -5199,8 +4766,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/telephone-number-validator", - "blockName": "JavaScript Algorithms and Data Structures Projects" + "slug": "/learn/javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/telephone-number-validator" }, "id": "aff0395860f5d3034dc0bfc9", "title": "Telephone Number Validator" @@ -5211,8 +4777,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance" }, "id": "587d7db1367417b2b2512b87", "title": "Add Methods After Inheritance" @@ -5223,8 +4788,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/change-the-prototype-to-a-new-object", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/change-the-prototype-to-a-new-object" }, "id": "587d7daf367417b2b2512b7f", "title": "Change the Prototype to a New Object" @@ -5235,8 +4799,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-basic-javascript-object", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-basic-javascript-object" }, "id": "587d7dac367417b2b2512b73", "title": "Create a Basic JavaScript Object" @@ -5247,8 +4810,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object" }, "id": "587d7dad367417b2b2512b75", "title": "Create a Method on an Object" @@ -5259,8 +4821,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/define-a-constructor-function", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/define-a-constructor-function" }, "id": "587d7dad367417b2b2512b77", "title": "Define a Constructor Function" @@ -5271,8 +4832,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/extend-constructors-to-receive-arguments", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/extend-constructors-to-receive-arguments" }, "id": "587d7dae367417b2b2512b79", "title": "Extend Constructors to Receive Arguments" @@ -5283,8 +4843,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/inherit-behaviors-from-a-supertype", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/inherit-behaviors-from-a-supertype" }, "id": "587d7db0367417b2b2512b84", "title": "Inherit Behaviors from a Supertype" @@ -5295,8 +4854,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/iterate-over-all-properties", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/iterate-over-all-properties" }, "id": "587d7daf367417b2b2512b7d", "title": "Iterate Over All Properties" @@ -5307,8 +4865,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/make-code-more-reusable-with-the-this-keyword", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/make-code-more-reusable-with-the-this-keyword" }, "id": "587d7dad367417b2b2512b76", "title": "Make Code More Reusable with the this Keyword" @@ -5319,8 +4876,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/override-inherited-methods", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/override-inherited-methods" }, "id": "587d7db1367417b2b2512b88", "title": "Override Inherited Methods" @@ -5331,8 +4887,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/remember-to-set-the-constructor-property-when-changing-the-prototype", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/remember-to-set-the-constructor-property-when-changing-the-prototype" }, "id": "587d7daf367417b2b2512b80", "title": "Remember to Set the Constructor Property when Changing the Prototype" @@ -5343,8 +4898,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/reset-an-inherited-constructor-property", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/reset-an-inherited-constructor-property" }, "id": "587d7db1367417b2b2512b86", "title": "Reset an Inherited Constructor Property" @@ -5355,8 +4909,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/set-the-childs-prototype-to-an-instance-of-the-parent", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/set-the-childs-prototype-to-an-instance-of-the-parent" }, "id": "587d7db1367417b2b2512b85", "title": "Set the Child's Prototype to an Instance of the Parent" @@ -5367,8 +4920,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties" }, "id": "587d7dae367417b2b2512b7b", "title": "Understand Own Properties" @@ -5379,8 +4931,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-constructor-property", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-constructor-property" }, "id": "587d7daf367417b2b2512b7e", "title": "Understand the Constructor Property" @@ -5391,8 +4942,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife" }, "id": "587d7db2367417b2b2512b8b", "title": "Understand the Immediately Invoked Function Expression (IIFE)" @@ -5403,8 +4953,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain" }, "id": "587d7db0367417b2b2512b82", "title": "Understand the Prototype Chain" @@ -5415,8 +4964,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-where-an-objects-prototype-comes-from", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/understand-where-an-objects-prototype-comes-from" }, "id": "587d7db0367417b2b2512b81", "title": "Understand Where an Object’s Prototype Comes From" @@ -5427,8 +4975,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-a-constructor-to-create-objects", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-a-constructor-to-create-objects" }, "id": "587d7dad367417b2b2512b78", "title": "Use a Constructor to Create Objects" @@ -5439,8 +4986,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-a-mixin-to-add-common-behavior-between-unrelated-objects", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-a-mixin-to-add-common-behavior-between-unrelated-objects" }, "id": "587d7db2367417b2b2512b89", "title": "Use a Mixin to Add Common Behavior Between Unrelated Objects" @@ -5451,8 +4997,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-an-iife-to-create-a-module", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-an-iife-to-create-a-module" }, "id": "587d7db2367417b2b2512b8c", "title": "Use an IIFE to Create a Module" @@ -5463,8 +5008,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-closure-to-protect-properties-within-an-object-from-being-modified-externally", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-closure-to-protect-properties-within-an-object-from-being-modified-externally" }, "id": "587d7db2367417b2b2512b8a", "title": "Use Closure to Protect Properties Within an Object from Being Modified Externally" @@ -5475,8 +5019,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-dot-notation-to-access-the-properties-of-an-object", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-dot-notation-to-access-the-properties-of-an-object" }, "id": "587d7dac367417b2b2512b74", "title": "Use Dot Notation to Access the Properties of an Object" @@ -5487,8 +5030,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-inheritance-so-you-dont-repeat-yourself", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-inheritance-so-you-dont-repeat-yourself" }, "id": "587d7db0367417b2b2512b83", "title": "Use Inheritance So You Don't Repeat Yourself" @@ -5499,8 +5041,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code" }, "id": "587d7dae367417b2b2512b7c", "title": "Use Prototype Properties to Reduce Duplicate Code" @@ -5511,8 +5052,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/verify-an-objects-constructor-with-instanceof", - "blockName": "Object Oriented Programming" + "slug": "/learn/javascript-algorithms-and-data-structures/object-oriented-programming/verify-an-objects-constructor-with-instanceof" }, "id": "587d7dae367417b2b2512b7a", "title": "Verify an Object's Constructor with instanceof" @@ -5523,8 +5063,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-all-or-none", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-all-or-none" }, "id": "587d7dba367417b2b2512ba8", "title": "Check for All or None" @@ -5535,8 +5074,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-mixed-grouping-of-characters", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/check-for-mixed-grouping-of-characters" }, "id": "5c3dda8b4d8df89bea71600f", "title": "Check For Mixed Grouping of Characters" @@ -5547,8 +5085,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/extract-matches", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/extract-matches" }, "id": "587d7db4367417b2b2512b92", "title": "Extract Matches" @@ -5559,8 +5096,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching" }, "id": "587d7db6367417b2b2512b9b", "title": "Find Characters with Lazy Matching" @@ -5571,8 +5107,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/find-more-than-the-first-match", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/find-more-than-the-first-match" }, "id": "587d7db4367417b2b2512b93", "title": "Find More Than the First Match" @@ -5583,8 +5118,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt" }, "id": "587d7db7367417b2b2512b9c", "title": "Find One or More Criminals in a Hunt" @@ -5595,8 +5129,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching" }, "id": "587d7db4367417b2b2512b91", "title": "Ignore Case While Matching" @@ -5607,8 +5140,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-a-literal-string-with-different-possibilities", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-a-literal-string-with-different-possibilities" }, "id": "587d7db4367417b2b2512b90", "title": "Match a Literal String with Different Possibilities" @@ -5619,8 +5151,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers" }, "id": "587d7db7367417b2b2512b9f", "title": "Match All Letters and Numbers" @@ -5631,8 +5162,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-non-numbers", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-non-numbers" }, "id": "587d7db8367417b2b2512ba1", "title": "Match All Non-Numbers" @@ -5643,8 +5173,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-numbers", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-all-numbers" }, "id": "5d712346c441eddfaeb5bdef", "title": "Match All Numbers" @@ -5655,8 +5184,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-anything-with-wildcard-period", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-anything-with-wildcard-period" }, "id": "587d7db5367417b2b2512b94", "title": "Match Anything with Wildcard Period" @@ -5667,8 +5195,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-beginning-string-patterns", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-beginning-string-patterns" }, "id": "587d7db7367417b2b2512b9d", "title": "Match Beginning String Patterns" @@ -5679,8 +5206,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-one-or-more-times", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-one-or-more-times" }, "id": "587d7db6367417b2b2512b99", "title": "Match Characters that Occur One or More Times" @@ -5691,8 +5217,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-zero-or-more-times", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-zero-or-more-times" }, "id": "587d7db6367417b2b2512b9a", "title": "Match Characters that Occur Zero or More Times" @@ -5703,8 +5228,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-ending-string-patterns", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-ending-string-patterns" }, "id": "587d7db7367417b2b2512b9e", "title": "Match Ending String Patterns" @@ -5715,8 +5239,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-everything-but-letters-and-numbers", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-everything-but-letters-and-numbers" }, "id": "587d7db8367417b2b2512ba0", "title": "Match Everything But Letters and Numbers" @@ -5727,8 +5250,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-letters-of-the-alphabet", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-letters-of-the-alphabet" }, "id": "587d7db5367417b2b2512b96", "title": "Match Letters of the Alphabet" @@ -5739,8 +5261,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings" }, "id": "587d7db3367417b2b2512b8f", "title": "Match Literal Strings" @@ -5751,8 +5272,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-non-whitespace-characters", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-non-whitespace-characters" }, "id": "587d7db9367417b2b2512ba4", "title": "Match Non-Whitespace Characters" @@ -5763,8 +5283,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-numbers-and-letters-of-the-alphabet", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-numbers-and-letters-of-the-alphabet" }, "id": "587d7db5367417b2b2512b97", "title": "Match Numbers and Letters of the Alphabet" @@ -5775,8 +5294,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities" }, "id": "587d7db5367417b2b2512b95", "title": "Match Single Character with Multiple Possibilities" @@ -5787,8 +5305,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-characters-not-specified", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-single-characters-not-specified" }, "id": "587d7db6367417b2b2512b98", "title": "Match Single Characters Not Specified" @@ -5799,8 +5316,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-whitespace", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/match-whitespace" }, "id": "587d7db8367417b2b2512ba3", "title": "Match Whitespace" @@ -5811,8 +5327,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/positive-and-negative-lookahead", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/positive-and-negative-lookahead" }, "id": "587d7dba367417b2b2512ba9", "title": "Positive and Negative Lookahead" @@ -5823,8 +5338,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/remove-whitespace-from-start-and-end", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/remove-whitespace-from-start-and-end" }, "id": "587d7dbb367417b2b2512bac", "title": "Remove Whitespace from Start and End" @@ -5835,8 +5349,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/restrict-possible-usernames", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/restrict-possible-usernames" }, "id": "587d7db8367417b2b2512ba2", "title": "Restrict Possible Usernames" @@ -5847,8 +5360,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups" }, "id": "587d7dbb367417b2b2512baa", "title": "Reuse Patterns Using Capture Groups" @@ -5859,8 +5371,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-exact-number-of-matches", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-exact-number-of-matches" }, "id": "587d7db9367417b2b2512ba7", "title": "Specify Exact Number of Matches" @@ -5871,8 +5382,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-only-the-lower-number-of-matches", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-only-the-lower-number-of-matches" }, "id": "587d7db9367417b2b2512ba6", "title": "Specify Only the Lower Number of Matches" @@ -5883,8 +5393,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-upper-and-lower-number-of-matches", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/specify-upper-and-lower-number-of-matches" }, "id": "587d7db9367417b2b2512ba5", "title": "Specify Upper and Lower Number of Matches" @@ -5895,8 +5404,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/use-capture-groups-to-search-and-replace", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/use-capture-groups-to-search-and-replace" }, "id": "587d7dbb367417b2b2512bab", "title": "Use Capture Groups to Search and Replace" @@ -5907,8 +5415,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/using-the-test-method", - "blockName": "Regular Expressions" + "slug": "/learn/javascript-algorithms-and-data-structures/regular-expressions/using-the-test-method" }, "id": "587d7db3367417b2b2512b8e", "title": "Using the Test Method" @@ -5919,8 +5426,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/add-elements-within-your-bootstrap-wells", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/add-elements-within-your-bootstrap-wells" }, "id": "bad87fee1348bd9aec908849", "title": "Add Elements within Your Bootstrap Wells" @@ -5931,8 +5437,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/add-font-awesome-icons-to-all-of-our-buttons", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/add-font-awesome-icons-to-all-of-our-buttons" }, "id": "bad87fee1348bd9aedc08845", "title": "Add Font Awesome Icons to all of our Buttons" @@ -5943,8 +5448,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/add-font-awesome-icons-to-our-buttons", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/add-font-awesome-icons-to-our-buttons" }, "id": "bad87fee1348bd9aedd08845", "title": "Add Font Awesome Icons to our Buttons" @@ -5955,8 +5459,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/add-id-attributes-to-bootstrap-elements", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/add-id-attributes-to-bootstrap-elements" }, "id": "bad87fee1348bd9aec908853", "title": "Add id Attributes to Bootstrap Elements" @@ -5967,8 +5470,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/apply-the-default-bootstrap-button-style", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/apply-the-default-bootstrap-button-style" }, "id": "bad87fee1348bd9aec908850", "title": "Apply the Default Bootstrap Button Style" @@ -5979,8 +5481,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/call-out-optional-actions-with-btn-info", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/call-out-optional-actions-with-btn-info" }, "id": "bad87fee1348cd8acef08813", "title": "Call out Optional Actions with btn-info" @@ -5991,8 +5492,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/center-text-with-bootstrap", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/center-text-with-bootstrap" }, "id": "bad87fee1348bd8acde08812", "title": "Center Text with Bootstrap" @@ -6003,8 +5503,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/create-a-block-element-bootstrap-button", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/create-a-block-element-bootstrap-button" }, "id": "bad87fee1348cd8acef08812", "title": "Create a Block Element Bootstrap Button" @@ -6015,8 +5514,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-button", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-button" }, "id": "bad87fee1348cd8acdf08812", "title": "Create a Bootstrap Button" @@ -6027,8 +5525,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-headline", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-headline" }, "id": "bad87fee1348bd9aec908846", "title": "Create a Bootstrap Headline" @@ -6039,8 +5536,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-row", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/create-a-bootstrap-row" }, "id": "bad87fee1348bd9bec908846", "title": "Create a Bootstrap Row" @@ -6051,8 +5547,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/create-a-class-to-target-with-jquery-selectors", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/create-a-class-to-target-with-jquery-selectors" }, "id": "bad87fee1348bd9aec908852", "title": "Create a Class to Target with jQuery Selectors" @@ -6063,8 +5558,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/create-a-custom-heading", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/create-a-custom-heading" }, "id": "bad87fee1348bd9aede08845", "title": "Create a Custom Heading" @@ -6075,8 +5569,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/create-bootstrap-wells", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/create-bootstrap-wells" }, "id": "bad87fee1348bd9aec908848", "title": "Create Bootstrap Wells" @@ -6087,8 +5580,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/ditch-custom-css-for-bootstrap", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/ditch-custom-css-for-bootstrap" }, "id": "bad87fee1347bd9aedf08845", "title": "Ditch Custom CSS for Bootstrap" @@ -6099,8 +5591,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/give-each-element-a-unique-id", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/give-each-element-a-unique-id" }, "id": "bad87fee1348bd9aec908855", "title": "Give Each Element a Unique id" @@ -6111,8 +5602,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/house-our-page-within-a-bootstrap-container-fluid-div", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/house-our-page-within-a-bootstrap-container-fluid-div" }, "id": "bad87fee1348bd9aec908746", "title": "House our page within a Bootstrap container-fluid div" @@ -6123,8 +5613,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/label-bootstrap-buttons", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/label-bootstrap-buttons" }, "id": "bad87fee1348bd9aec908856", "title": "Label Bootstrap Buttons" @@ -6135,8 +5624,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/label-bootstrap-wells", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/label-bootstrap-wells" }, "id": "bad87fee1348bd9aec908854", "title": "Label Bootstrap Wells" @@ -6147,8 +5635,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/line-up-form-elements-responsively-with-bootstrap", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/line-up-form-elements-responsively-with-bootstrap" }, "id": "bad87fee1348bd9aec908845", "title": "Line up Form Elements Responsively with Bootstrap" @@ -6159,8 +5646,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/make-images-mobile-responsive", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/make-images-mobile-responsive" }, "id": "bad87fee1348bd9acde08812", "title": "Make Images Mobile Responsive" @@ -6171,8 +5657,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/responsively-style-checkboxes", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/responsively-style-checkboxes" }, "id": "bad87fee1348bd9aeda08845", "title": "Responsively Style Checkboxes" @@ -6183,8 +5668,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/responsively-style-radio-buttons", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/responsively-style-radio-buttons" }, "id": "bad87fee1348bd9aedb08845", "title": "Responsively Style Radio Buttons" @@ -6195,8 +5679,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/split-your-bootstrap-row", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/split-your-bootstrap-row" }, "id": "bad87fee1348bd9aec908847", "title": "Split Your Bootstrap Row" @@ -6207,8 +5690,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/style-text-inputs-as-form-controls", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/style-text-inputs-as-form-controls" }, "id": "bad87fee1348bd9aed908845", "title": "Style Text Inputs as Form Controls" @@ -6219,8 +5701,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/taste-the-bootstrap-button-color-rainbow", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/taste-the-bootstrap-button-color-rainbow" }, "id": "bad87fee1348cd8acef08811", "title": "Taste the Bootstrap Button Color Rainbow" @@ -6231,8 +5712,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/use-a-span-to-target-inline-elements", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/use-a-span-to-target-inline-elements" }, "id": "bad87fee1348bd9aedf08845", "title": "Use a span to Target Inline Elements" @@ -6243,8 +5723,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/use-comments-to-clarify-code", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/use-comments-to-clarify-code" }, "id": "bad87fee1348bd9aec908857", "title": "Use Comments to Clarify Code" @@ -6255,8 +5734,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/use-responsive-design-with-bootstrap-fluid-containers", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/use-responsive-design-with-bootstrap-fluid-containers" }, "id": "bad87fee1348bd9acde08712", "title": "Use Responsive Design with Bootstrap Fluid Containers" @@ -6267,8 +5745,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/use-the-bootstrap-grid-to-put-elements-side-by-side", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/use-the-bootstrap-grid-to-put-elements-side-by-side" }, "id": "bad88fee1348ce8acef08815", "title": "Use the Bootstrap Grid to Put Elements Side By Side" @@ -6279,8 +5756,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/bootstrap/warn-your-users-of-a-dangerous-action-with-btn-danger", - "blockName": "Bootstrap" + "slug": "/learn/front-end-development-libraries/bootstrap/warn-your-users-of-a-dangerous-action-with-btn-danger" }, "id": "bad87fee1348ce8acef08814", "title": "Warn Your Users of a Dangerous Action with btn-danger" @@ -6291,8 +5767,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-25--5-clock", - "blockName": "Front End Development Libraries Projects" + "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-25--5-clock" }, "id": "bd7158d8c442eddfaeb5bd0f", "title": "Build a 25 + 5 Clock" @@ -6303,8 +5778,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine", - "blockName": "Front End Development Libraries Projects" + "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine" }, "id": "587d7dbc367417b2b2512bae", "title": "Build a Drum Machine" @@ -6315,8 +5789,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator", - "blockName": "Front End Development Libraries Projects" + "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator" }, "id": "bd7158d8c442eddfaeb5bd17", "title": "Build a JavaScript Calculator" @@ -6327,8 +5800,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer", - "blockName": "Front End Development Libraries Projects" + "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer" }, "id": "bd7157d8c242eddfaeb5bd13", "title": "Build a Markdown Previewer" @@ -6339,8 +5811,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-random-quote-machine", - "blockName": "Front End Development Libraries Projects" + "slug": "/learn/front-end-development-libraries/front-end-development-libraries-projects/build-a-random-quote-machine" }, "id": "bd7158d8c442eddfaeb5bd13", "title": "Build a Random Quote Machine" @@ -6351,8 +5822,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery" }, "id": "564944c91be2204b269d51e3", "title": "Change Text Inside an Element Using jQuery" @@ -6363,8 +5833,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/change-the-css-of-an-element-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/change-the-css-of-an-element-using-jquery" }, "id": "bad87fee1348bd9aed908826", "title": "Change the CSS of an Element Using jQuery" @@ -6375,8 +5844,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/clone-an-element-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/clone-an-element-using-jquery" }, "id": "bad87fee1348bd9aed508826", "title": "Clone an Element Using jQuery" @@ -6387,8 +5855,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/delete-your-jquery-functions", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/delete-your-jquery-functions" }, "id": "bad87fee1348bd9aeda08726", "title": "Delete Your jQuery Functions" @@ -6399,8 +5866,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/disable-an-element-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/disable-an-element-using-jquery" }, "id": "bad87fee1348bd9aed808826", "title": "Disable an Element Using jQuery" @@ -6411,8 +5877,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/learn-how-script-tags-and-document-ready-work", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/learn-how-script-tags-and-document-ready-work" }, "id": "bad87fee1348bd9acdd08826", "title": "Learn How Script Tags and Document Ready Work" @@ -6423,8 +5888,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/remove-an-element-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/remove-an-element-using-jquery" }, "id": "bad87fee1348bd9aed708826", "title": "Remove an Element Using jQuery" @@ -6435,8 +5899,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/remove-classes-from-an-element-with-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/remove-classes-from-an-element-with-jquery" }, "id": "bad87fee1348bd9aed918626", "title": "Remove Classes from an Element with jQuery" @@ -6447,8 +5910,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/target-a-specific-child-of-an-element-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/target-a-specific-child-of-an-element-using-jquery" }, "id": "bad87fee1348bd9aed108826", "title": "Target a Specific Child of an Element Using jQuery" @@ -6459,8 +5921,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/target-elements-by-class-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/target-elements-by-class-using-jquery" }, "id": "bad87fee1348bd9aedc08826", "title": "Target Elements by Class Using jQuery" @@ -6471,8 +5932,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/target-elements-by-id-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/target-elements-by-id-using-jquery" }, "id": "bad87fee1348bd9aeda08826", "title": "Target Elements by id Using jQuery" @@ -6483,8 +5943,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/target-even-elements-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/target-even-elements-using-jquery" }, "id": "bad87fee1348bd9aed008826", "title": "Target Even Elements Using jQuery" @@ -6495,8 +5954,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/target-html-elements-with-selectors-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/target-html-elements-with-selectors-using-jquery" }, "id": "bad87fee1348bd9bedc08826", "title": "Target HTML Elements with Selectors Using jQuery" @@ -6507,8 +5965,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/target-the-children-of-an-element-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/target-the-children-of-an-element-using-jquery" }, "id": "bad87fee1348bd9aed208826", "title": "Target the Children of an Element Using jQuery" @@ -6519,8 +5976,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/target-the-parent-of-an-element-using-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/target-the-parent-of-an-element-using-jquery" }, "id": "bad87fee1348bd9aed308826", "title": "Target the Parent of an Element Using jQuery" @@ -6531,8 +5987,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/target-the-same-element-with-multiple-jquery-selectors", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/target-the-same-element-with-multiple-jquery-selectors" }, "id": "bad87fee1348bd9aed908626", "title": "Target the Same Element with Multiple jQuery Selectors" @@ -6543,8 +5998,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/use-appendto-to-move-elements-with-jquery", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/use-appendto-to-move-elements-with-jquery" }, "id": "bad87fee1348bd9aed608826", "title": "Use appendTo to Move Elements with jQuery" @@ -6555,8 +6009,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/jquery/use-jquery-to-modify-the-entire-page", - "blockName": "jQuery" + "slug": "/learn/front-end-development-libraries/jquery/use-jquery-to-modify-the-entire-page" }, "id": "bad87fee1348bd9aecb08826", "title": "Use jQuery to Modify the Entire Page" @@ -6567,8 +6020,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/access-props-using-this-props", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/access-props-using-this-props" }, "id": "5a24c314108439a4d403616e", "title": "Access Props Using this.props" @@ -6579,8 +6031,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/add-comments-in-jsx", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/add-comments-in-jsx" }, "id": "5a24bbe0dba28a8d3cbd4c5e", "title": "Add Comments in JSX" @@ -6591,8 +6042,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/add-event-listeners", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/add-event-listeners" }, "id": "5a24c314108439a4d403617e", "title": "Add Event Listeners" @@ -6603,8 +6053,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/add-inline-styles-in-react", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/add-inline-styles-in-react" }, "id": "5a24c314108439a4d4036182", "title": "Add Inline Styles in React" @@ -6615,8 +6064,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/bind-this-to-a-class-method", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/bind-this-to-a-class-method" }, "id": "5a24c314108439a4d4036174", "title": "Bind 'this' to a Class Method" @@ -6627,8 +6075,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/change-inline-css-conditionally-based-on-component-state", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/change-inline-css-conditionally-based-on-component-state" }, "id": "5a24c314108439a4d4036189", "title": "Change Inline CSS Conditionally Based on Component State" @@ -6639,8 +6086,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/compose-react-components", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/compose-react-components" }, "id": "5a24c314108439a4d4036166", "title": "Compose React Components" @@ -6651,8 +6097,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/create-a-complex-jsx-element", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/create-a-complex-jsx-element" }, "id": "5a24bbe0dba28a8d3cbd4c5d", "title": "Create a Complex JSX Element" @@ -6663,8 +6108,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/create-a-component-with-composition", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/create-a-component-with-composition" }, "id": "5a24c314108439a4d4036164", "title": "Create a Component with Composition" @@ -6675,8 +6119,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/create-a-controlled-form", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/create-a-controlled-form" }, "id": "5a24c314108439a4d4036179", "title": "Create a Controlled Form" @@ -6687,8 +6130,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/create-a-controlled-input", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/create-a-controlled-input" }, "id": "5a24c314108439a4d4036178", "title": "Create a Controlled Input" @@ -6699,8 +6141,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/create-a-react-component", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/create-a-react-component" }, "id": "5a24c314108439a4d4036163", "title": "Create a React Component" @@ -6711,8 +6152,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/create-a-simple-jsx-element", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/create-a-simple-jsx-element" }, "id": "587d7dbc367417b2b2512bb1", "title": "Create a Simple JSX Element" @@ -6723,8 +6163,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/create-a-stateful-component", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/create-a-stateful-component" }, "id": "5a24c314108439a4d4036170", "title": "Create a Stateful Component" @@ -6735,8 +6174,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/create-a-stateless-functional-component", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/create-a-stateless-functional-component" }, "id": "5a24c314108439a4d4036162", "title": "Create a Stateless Functional Component" @@ -6747,8 +6185,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/define-an-html-class-in-jsx", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/define-an-html-class-in-jsx" }, "id": "5a24c314108439a4d4036160", "title": "Define an HTML Class in JSX" @@ -6759,8 +6196,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/give-sibling-elements-a-unique-key-attribute", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/give-sibling-elements-a-unique-key-attribute" }, "id": "5a24c314108439a4d403618b", "title": "Give Sibling Elements a Unique Key Attribute" @@ -6771,8 +6207,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/introducing-inline-styles", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/introducing-inline-styles" }, "id": "5a24c314108439a4d4036181", "title": "Introducing Inline Styles" @@ -6783,8 +6218,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/learn-about-self-closing-jsx-tags", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/learn-about-self-closing-jsx-tags" }, "id": "5a24c314108439a4d4036161", "title": "Learn About Self-Closing JSX Tags" @@ -6795,8 +6229,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/optimize-re-renders-with-shouldcomponentupdate", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/optimize-re-renders-with-shouldcomponentupdate" }, "id": "5a24c314108439a4d4036180", "title": "Optimize Re-Renders with shouldComponentUpdate" @@ -6807,8 +6240,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/override-default-props", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/override-default-props" }, "id": "5a24c314108439a4d403616c", "title": "Override Default Props" @@ -6819,8 +6251,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/pass-a-callback-as-props", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/pass-a-callback-as-props" }, "id": "5a24c314108439a4d403617b", "title": "Pass a Callback as Props" @@ -6831,8 +6262,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/pass-an-array-as-props", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/pass-an-array-as-props" }, "id": "5a24c314108439a4d403616a", "title": "Pass an Array as Props" @@ -6843,8 +6273,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/pass-props-to-a-stateless-functional-component", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/pass-props-to-a-stateless-functional-component" }, "id": "5a24c314108439a4d4036169", "title": "Pass Props to a Stateless Functional Component" @@ -6855,8 +6284,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/pass-state-as-props-to-child-components", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/pass-state-as-props-to-child-components" }, "id": "5a24c314108439a4d403617a", "title": "Pass State as Props to Child Components" @@ -6867,8 +6295,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/render-a-class-component-to-the-dom", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/render-a-class-component-to-the-dom" }, "id": "5a24c314108439a4d4036167", "title": "Render a Class Component to the DOM" @@ -6879,8 +6306,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/render-conditionally-from-props", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/render-conditionally-from-props" }, "id": "5a24c314108439a4d4036188", "title": "Render Conditionally from Props" @@ -6891,8 +6317,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/render-html-elements-to-the-dom", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/render-html-elements-to-the-dom" }, "id": "5a24bbe0dba28a8d3cbd4c5f", "title": "Render HTML Elements to the DOM" @@ -6903,8 +6328,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/render-react-on-the-server-with-rendertostring", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/render-react-on-the-server-with-rendertostring" }, "id": "5a24c314108439a4d403618d", "title": "Render React on the Server with renderToString" @@ -6915,8 +6339,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/render-state-in-the-user-interface-another-way", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/render-state-in-the-user-interface-another-way" }, "id": "5a24c314108439a4d4036172", "title": "Render State in the User Interface Another Way" @@ -6927,8 +6350,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/render-state-in-the-user-interface", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/render-state-in-the-user-interface" }, "id": "5a24c314108439a4d4036171", "title": "Render State in the User Interface" @@ -6939,8 +6361,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/render-with-an-if-else-condition", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/render-with-an-if-else-condition" }, "id": "5a24c314108439a4d4036184", "title": "Render with an If-Else Condition" @@ -6951,8 +6372,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/review-using-props-with-stateless-functional-components", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/review-using-props-with-stateless-functional-components" }, "id": "5a24c314108439a4d403616f", "title": "Review Using Props with Stateless Functional Components" @@ -6963,8 +6383,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/set-state-with-this-setstate", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/set-state-with-this-setstate" }, "id": "5a24c314108439a4d4036173", "title": "Set State with this.setState" @@ -6975,8 +6394,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use--for-a-more-concise-conditional", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use--for-a-more-concise-conditional" }, "id": "5a24c314108439a4d4036185", "title": "Use && for a More Concise Conditional" @@ -6987,8 +6405,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-a-ternary-expression-for-conditional-rendering", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-a-ternary-expression-for-conditional-rendering" }, "id": "5a24c314108439a4d4036187", "title": "Use a Ternary Expression for Conditional Rendering" @@ -6999,8 +6416,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-advanced-javascript-in-react-render-method", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-advanced-javascript-in-react-render-method" }, "id": "5a24c314108439a4d4036183", "title": "Use Advanced JavaScript in React Render Method" @@ -7011,8 +6427,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-array-filter-to-dynamically-filter-an-array", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-array-filter-to-dynamically-filter-an-array" }, "id": "5a24c314108439a4d403618c", "title": "Use Array.filter() to Dynamically Filter an Array" @@ -7023,8 +6438,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-array-map-to-dynamically-render-elements", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-array-map-to-dynamically-render-elements" }, "id": "5a24c314108439a4d403618a", "title": "Use Array.map() to Dynamically Render Elements" @@ -7035,8 +6449,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-default-props", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-default-props" }, "id": "5a24c314108439a4d403616b", "title": "Use Default Props" @@ -7047,8 +6460,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect" }, "id": "5a24c314108439a4d403616d", "title": "Use PropTypes to Define the Props You Expect" @@ -7059,8 +6471,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-react-to-render-nested-components", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-react-to-render-nested-components" }, "id": "5a24c314108439a4d4036165", "title": "Use React to Render Nested Components" @@ -7071,8 +6482,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-state-to-toggle-an-element", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-state-to-toggle-an-element" }, "id": "5a24c314108439a4d4036176", "title": "Use State to Toggle an Element" @@ -7083,8 +6493,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-the-lifecycle-method-componentdidmount", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-the-lifecycle-method-componentdidmount" }, "id": "5a24c314108439a4d403617d", "title": "Use the Lifecycle Method componentDidMount" @@ -7095,8 +6504,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/use-the-lifecycle-method-componentwillmount", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/use-the-lifecycle-method-componentwillmount" }, "id": "5a24c314108439a4d403617c", "title": "Use the Lifecycle Method componentWillMount" @@ -7107,8 +6515,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/write-a-react-component-from-scratch", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/write-a-react-component-from-scratch" }, "id": "5a24c314108439a4d4036168", "title": "Write a React Component from Scratch" @@ -7119,8 +6526,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react/write-a-simple-counter", - "blockName": "React" + "slug": "/learn/front-end-development-libraries/react/write-a-simple-counter" }, "id": "5a24c314108439a4d4036177", "title": "Write a Simple Counter" @@ -7131,8 +6537,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/connect-redux-to-react", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/connect-redux-to-react" }, "id": "5a24c314108439a4d4036147", "title": "Connect Redux to React" @@ -7143,8 +6548,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app" }, "id": "5a24c314108439a4d4036148", "title": "Connect Redux to the Messages App" @@ -7155,8 +6559,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/extract-local-state-into-redux", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/extract-local-state-into-redux" }, "id": "5a24c314108439a4d4036149", "title": "Extract Local State into Redux" @@ -7167,8 +6570,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/extract-state-logic-to-redux", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/extract-state-logic-to-redux" }, "id": "5a24c314108439a4d4036143", "title": "Extract State Logic to Redux" @@ -7179,8 +6581,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/getting-started-with-react-redux", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/getting-started-with-react-redux" }, "id": "5a24c314108439a4d4036141", "title": "Getting Started with React Redux" @@ -7191,8 +6592,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/manage-state-locally-first", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/manage-state-locally-first" }, "id": "5a24c314108439a4d4036142", "title": "Manage State Locally First" @@ -7203,8 +6603,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/map-dispatch-to-props", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/map-dispatch-to-props" }, "id": "5a24c314108439a4d4036146", "title": "Map Dispatch to Props" @@ -7215,8 +6614,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/map-state-to-props", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/map-state-to-props" }, "id": "5a24c314108439a4d4036145", "title": "Map State to Props" @@ -7227,8 +6625,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/moving-forward-from-here", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/moving-forward-from-here" }, "id": "5a24c314108439a4d403614a", "title": "Moving Forward From Here" @@ -7239,8 +6636,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/react-and-redux/use-provider-to-connect-redux-to-react", - "blockName": "React and Redux" + "slug": "/learn/front-end-development-libraries/react-and-redux/use-provider-to-connect-redux-to-react" }, "id": "5a24c314108439a4d4036144", "title": "Use Provider to Connect Redux to React" @@ -7251,8 +6647,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/combine-multiple-reducers", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/combine-multiple-reducers" }, "id": "5a24c314108439a4d4036154", "title": "Combine Multiple Reducers" @@ -7263,8 +6658,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/copy-an-object-with-object-assign", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/copy-an-object-with-object-assign" }, "id": "5a24c314108439a4d403615b", "title": "Copy an Object with Object.assign" @@ -7275,8 +6669,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/create-a-redux-store", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/create-a-redux-store" }, "id": "5a24c314108439a4d403614b", "title": "Create a Redux Store" @@ -7287,8 +6680,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/define-a-redux-action", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/define-a-redux-action" }, "id": "5a24c314108439a4d403614d", "title": "Define a Redux Action" @@ -7299,8 +6691,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/define-an-action-creator", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/define-an-action-creator" }, "id": "5a24c314108439a4d403614e", "title": "Define an Action Creator" @@ -7311,8 +6702,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/dispatch-an-action-event", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/dispatch-an-action-event" }, "id": "5a24c314108439a4d403614f", "title": "Dispatch an Action Event" @@ -7323,8 +6713,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/get-state-from-the-redux-store", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/get-state-from-the-redux-store" }, "id": "5a24c314108439a4d403614c", "title": "Get State from the Redux Store" @@ -7335,8 +6724,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/handle-an-action-in-the-store", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/handle-an-action-in-the-store" }, "id": "5a24c314108439a4d4036150", "title": "Handle an Action in the Store" @@ -7347,8 +6735,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/never-mutate-state", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/never-mutate-state" }, "id": "5a24c314108439a4d4036158", "title": "Never Mutate State" @@ -7359,8 +6746,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/register-a-store-listener", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/register-a-store-listener" }, "id": "5a24c314108439a4d4036153", "title": "Register a Store Listener" @@ -7371,8 +6757,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/remove-an-item-from-an-array", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/remove-an-item-from-an-array" }, "id": "5a24c314108439a4d403615a", "title": "Remove an Item from an Array" @@ -7383,8 +6768,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/send-action-data-to-the-store", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/send-action-data-to-the-store" }, "id": "5a24c314108439a4d4036155", "title": "Send Action Data to the Store" @@ -7395,8 +6779,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/use-a-switch-statement-to-handle-multiple-actions", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/use-a-switch-statement-to-handle-multiple-actions" }, "id": "5a24c314108439a4d4036151", "title": "Use a Switch Statement to Handle Multiple Actions" @@ -7407,8 +6790,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/use-const-for-action-types", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/use-const-for-action-types" }, "id": "5a24c314108439a4d4036152", "title": "Use const for Action Types" @@ -7419,8 +6801,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/use-middleware-to-handle-asynchronous-actions", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/use-middleware-to-handle-asynchronous-actions" }, "id": "5a24c314108439a4d4036156", "title": "Use Middleware to Handle Asynchronous Actions" @@ -7431,8 +6812,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/use-the-spread-operator-on-arrays", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/use-the-spread-operator-on-arrays" }, "id": "5a24c314108439a4d4036159", "title": "Use the Spread Operator on Arrays" @@ -7443,8 +6823,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/redux/write-a-counter-with-redux", - "blockName": "Redux" + "slug": "/learn/front-end-development-libraries/redux/write-a-counter-with-redux" }, "id": "5a24c314108439a4d4036157", "title": "Write a Counter with Redux" @@ -7455,8 +6834,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/sass/apply-a-style-until-a-condition-is-met-with-while", - "blockName": "Sass" + "slug": "/learn/front-end-development-libraries/sass/apply-a-style-until-a-condition-is-met-with-while" }, "id": "587d7dbf367417b2b2512bbb", "title": "Apply a Style Until a Condition is Met with @while" @@ -7467,8 +6845,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/sass/create-reusable-css-with-mixins", - "blockName": "Sass" + "slug": "/learn/front-end-development-libraries/sass/create-reusable-css-with-mixins" }, "id": "587d7dbd367417b2b2512bb6", "title": "Create Reusable CSS with Mixins" @@ -7479,8 +6856,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/sass/extend-one-set-of-css-styles-to-another-element", - "blockName": "Sass" + "slug": "/learn/front-end-development-libraries/sass/extend-one-set-of-css-styles-to-another-element" }, "id": "587d7fa5367417b2b2512bbd", "title": "Extend One Set of CSS Styles to Another Element" @@ -7491,8 +6867,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/sass/nest-css-with-sass", - "blockName": "Sass" + "slug": "/learn/front-end-development-libraries/sass/nest-css-with-sass" }, "id": "587d7dbd367417b2b2512bb5", "title": "Nest CSS with Sass" @@ -7503,8 +6878,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/sass/split-your-styles-into-smaller-chunks-with-partials", - "blockName": "Sass" + "slug": "/learn/front-end-development-libraries/sass/split-your-styles-into-smaller-chunks-with-partials" }, "id": "587d7dbf367417b2b2512bbc", "title": "Split Your Styles into Smaller Chunks with Partials" @@ -7515,8 +6889,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/sass/store-data-with-sass-variables", - "blockName": "Sass" + "slug": "/learn/front-end-development-libraries/sass/store-data-with-sass-variables" }, "id": "587d7dbd367417b2b2512bb4", "title": "Store Data with Sass Variables" @@ -7527,8 +6900,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/sass/use-each-to-map-over-items-in-a-list", - "blockName": "Sass" + "slug": "/learn/front-end-development-libraries/sass/use-each-to-map-over-items-in-a-list" }, "id": "587d7dbf367417b2b2512bba", "title": "Use @each to Map Over Items in a List" @@ -7539,8 +6911,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/sass/use-for-to-create-a-sass-loop", - "blockName": "Sass" + "slug": "/learn/front-end-development-libraries/sass/use-for-to-create-a-sass-loop" }, "id": "587d7dbe367417b2b2512bb9", "title": "Use @for to Create a Sass Loop" @@ -7551,8 +6922,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/front-end-development-libraries/sass/use-if-and-else-to-add-logic-to-your-styles", - "blockName": "Sass" + "slug": "/learn/front-end-development-libraries/sass/use-if-and-else-to-add-logic-to-your-styles" }, "id": "587d7dbe367417b2b2512bb8", "title": "Use @if and @else to Add Logic To Your Styles" @@ -7563,8 +6933,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart", - "blockName": "Data Visualization Projects" + "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart" }, "id": "bd7168d8c242eddfaeb5bd13", "title": "Visualize Data with a Bar Chart" @@ -7575,8 +6944,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map", - "blockName": "Data Visualization Projects" + "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map" }, "id": "587d7fa6367417b2b2512bbf", "title": "Visualize Data with a Choropleth Map" @@ -7587,8 +6955,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-heat-map", - "blockName": "Data Visualization Projects" + "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-heat-map" }, "id": "bd7188d8c242eddfaeb5bd13", "title": "Visualize Data with a Heat Map" @@ -7599,8 +6966,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph", - "blockName": "Data Visualization Projects" + "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph" }, "id": "bd7178d8c242eddfaeb5bd13", "title": "Visualize Data with a Scatterplot Graph" @@ -7611,8 +6977,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram", - "blockName": "Data Visualization Projects" + "slug": "/learn/data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram" }, "id": "587d7fa6367417b2b2512bc0", "title": "Visualize Data with a Treemap Diagram" @@ -7623,8 +6988,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/add-a-hover-effect-to-a-d3-element", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/add-a-hover-effect-to-a-d3-element" }, "id": "587d7faa367417b2b2512bd4", "title": "Add a Hover Effect to a D3 Element" @@ -7635,8 +6999,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element" }, "id": "587d7faa367417b2b2512bd6", "title": "Add a Tooltip to a D3 Element" @@ -7647,8 +7010,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/add-attributes-to-the-circle-elements", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/add-attributes-to-the-circle-elements" }, "id": "587d7fab367417b2b2512bd8", "title": "Add Attributes to the Circle Elements" @@ -7659,8 +7021,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/add-axes-to-a-visualization", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/add-axes-to-a-visualization" }, "id": "587d7fad367417b2b2512bdf", "title": "Add Axes to a Visualization" @@ -7671,8 +7032,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/add-classes-with-d3", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/add-classes-with-d3" }, "id": "587d7fa7367417b2b2512bc8", "title": "Add Classes with D3" @@ -7683,8 +7043,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/add-document-elements-with-d3", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/add-document-elements-with-d3" }, "id": "587d7fa6367417b2b2512bc2", "title": "Add Document Elements with D3" @@ -7695,8 +7054,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/add-inline-styling-to-elements", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/add-inline-styling-to-elements" }, "id": "587d7fa7367417b2b2512bc6", "title": "Add Inline Styling to Elements" @@ -7707,8 +7065,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/add-labels-to-d3-elements", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/add-labels-to-d3-elements" }, "id": "587d7faa367417b2b2512bd2", "title": "Add Labels to D3 Elements" @@ -7719,8 +7076,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/add-labels-to-scatter-plot-circles", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/add-labels-to-scatter-plot-circles" }, "id": "587d7fab367417b2b2512bd9", "title": "Add Labels to Scatter Plot Circles" @@ -7731,8 +7087,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/change-styles-based-on-data", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/change-styles-based-on-data" }, "id": "587d7fa7367417b2b2512bc7", "title": "Change Styles Based on Data" @@ -7743,8 +7098,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/change-the-color-of-an-svg-element", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/change-the-color-of-an-svg-element" }, "id": "587d7fa9367417b2b2512bd1", "title": "Change the Color of an SVG Element" @@ -7755,8 +7109,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/change-the-presentation-of-a-bar-chart", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/change-the-presentation-of-a-bar-chart" }, "id": "587d7fa8367417b2b2512bca", "title": "Change the Presentation of a Bar Chart" @@ -7767,8 +7120,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/create-a-bar-for-each-data-point-in-the-set", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/create-a-bar-for-each-data-point-in-the-set" }, "id": "587d7fa8367417b2b2512bcd", "title": "Create a Bar for Each Data Point in the Set" @@ -7779,8 +7131,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/create-a-linear-scale-with-d3", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/create-a-linear-scale-with-d3" }, "id": "587d7fab367417b2b2512bda", "title": "Create a Linear Scale with D3" @@ -7791,8 +7142,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/create-a-scatterplot-with-svg-circles", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/create-a-scatterplot-with-svg-circles" }, "id": "587d7fab367417b2b2512bd7", "title": "Create a Scatterplot with SVG Circles" @@ -7803,8 +7153,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/display-shapes-with-svg", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/display-shapes-with-svg" }, "id": "587d7fa8367417b2b2512bcc", "title": "Display Shapes with SVG" @@ -7815,8 +7164,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/dynamically-change-the-height-of-each-bar", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/dynamically-change-the-height-of-each-bar" }, "id": "587d7fa9367417b2b2512bcf", "title": "Dynamically Change the Height of Each Bar" @@ -7827,8 +7175,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/dynamically-set-the-coordinates-for-each-bar", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/dynamically-set-the-coordinates-for-each-bar" }, "id": "587d7fa9367417b2b2512bce", "title": "Dynamically Set the Coordinates for Each Bar" @@ -7839,8 +7186,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/invert-svg-elements", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/invert-svg-elements" }, "id": "587d7fa9367417b2b2512bd0", "title": "Invert SVG Elements" @@ -7851,8 +7197,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/learn-about-svg-in-d3", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/learn-about-svg-in-d3" }, "id": "587d7fa8367417b2b2512bcb", "title": "Learn About SVG in D3" @@ -7863,8 +7208,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/select-a-group-of-elements-with-d3", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/select-a-group-of-elements-with-d3" }, "id": "587d7fa6367417b2b2512bc3", "title": "Select a Group of Elements with D3" @@ -7875,8 +7219,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/set-a-domain-and-a-range-on-a-scale", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/set-a-domain-and-a-range-on-a-scale" }, "id": "587d7fac367417b2b2512bdb", "title": "Set a Domain and a Range on a Scale" @@ -7887,8 +7230,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/style-d3-labels", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/style-d3-labels" }, "id": "587d7faa367417b2b2512bd3", "title": "Style D3 Labels" @@ -7899,8 +7241,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/update-the-height-of-an-element-dynamically", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/update-the-height-of-an-element-dynamically" }, "id": "587d7fa8367417b2b2512bc9", "title": "Update the Height of an Element Dynamically" @@ -7911,8 +7252,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/use-a-pre-defined-scale-to-place-elements", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/use-a-pre-defined-scale-to-place-elements" }, "id": "587d7fac367417b2b2512bde", "title": "Use a Pre-Defined Scale to Place Elements" @@ -7923,8 +7263,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/use-dynamic-scales", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/use-dynamic-scales" }, "id": "587d7fac367417b2b2512bdd", "title": "Use Dynamic Scales" @@ -7935,8 +7274,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/use-the-d3-max-and-d3-min-functions-to-find-minimum-and-maximum-values-in-a-dataset", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/use-the-d3-max-and-d3-min-functions-to-find-minimum-and-maximum-values-in-a-dataset" }, "id": "587d7fac367417b2b2512bdc", "title": "Use the d3.max and d3.min Functions to Find Minimum and Maximum Values in a Dataset" @@ -7947,8 +7285,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/work-with-data-in-d3", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/work-with-data-in-d3" }, "id": "587d7fa7367417b2b2512bc4", "title": "Work with Data in D3" @@ -7959,8 +7296,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/data-visualization-with-d3/work-with-dynamic-data-in-d3", - "blockName": "Data Visualization with D3" + "slug": "/learn/data-visualization/data-visualization-with-d3/work-with-dynamic-data-in-d3" }, "id": "587d7fa7367417b2b2512bc5", "title": "Work with Dynamic Data in D3" @@ -7971,8 +7307,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/access-the-json-data-from-an-api", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/access-the-json-data-from-an-api" }, "id": "587d7fae367417b2b2512be4", "title": "Access the JSON Data from an API" @@ -7983,8 +7318,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/change-text-with-click-events", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/change-text-with-click-events" }, "id": "587d7fad367417b2b2512be2", "title": "Change Text with click Events" @@ -7995,8 +7329,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/convert-json-data-to-html", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/convert-json-data-to-html" }, "id": "587d7fae367417b2b2512be5", "title": "Convert JSON Data to HTML" @@ -8007,8 +7340,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/get-geolocation-data-to-find-a-users-gps-coordinates", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/get-geolocation-data-to-find-a-users-gps-coordinates" }, "id": "587d7faf367417b2b2512be8", "title": "Get Geolocation Data to Find A User's GPS Coordinates" @@ -8019,8 +7351,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/get-json-with-the-javascript-fetch-method", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/get-json-with-the-javascript-fetch-method" }, "id": "5ccfad82bb2dc6c965a848e5", "title": "Get JSON with the JavaScript fetch method" @@ -8031,8 +7362,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/get-json-with-the-javascript-xmlhttprequest-method", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/get-json-with-the-javascript-xmlhttprequest-method" }, "id": "587d7fae367417b2b2512be3", "title": "Get JSON with the JavaScript XMLHttpRequest Method" @@ -8043,8 +7373,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/handle-click-events-with-javascript-using-the-onclick-property", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/handle-click-events-with-javascript-using-the-onclick-property" }, "id": "587d7fad367417b2b2512be1", "title": "Handle Click Events with JavaScript using the onclick property" @@ -8055,8 +7384,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/post-data-with-the-javascript-xmlhttprequest-method", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/post-data-with-the-javascript-xmlhttprequest-method" }, "id": "587d7faf367417b2b2512be9", "title": "Post Data with the JavaScript XMLHttpRequest Method" @@ -8067,8 +7395,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/pre-filter-json-to-get-the-data-you-need", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/pre-filter-json-to-get-the-data-you-need" }, "id": "587d7fae367417b2b2512be7", "title": "Pre-filter JSON to Get the Data You Need" @@ -8079,8 +7406,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-visualization/json-apis-and-ajax/render-images-from-data-sources", - "blockName": "JSON APIs and Ajax" + "slug": "/learn/data-visualization/json-apis-and-ajax/render-images-from-data-sources" }, "id": "587d7fae367417b2b2512be6", "title": "Render Images from Data Sources" @@ -8091,8 +7417,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker", - "blockName": "Back End Development and APIs Projects" + "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker" }, "id": "5a8b073d06fa14fcfde687aa", "title": "Exercise Tracker" @@ -8103,8 +7428,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice", - "blockName": "Back End Development and APIs Projects" + "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice" }, "id": "bd7158d8c443edefaeb5bd0f", "title": "File Metadata Microservice" @@ -8115,8 +7439,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice", - "blockName": "Back End Development and APIs Projects" + "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice" }, "id": "bd7158d8c443edefaeb5bdff", "title": "Request Header Parser Microservice" @@ -8127,8 +7450,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice", - "blockName": "Back End Development and APIs Projects" + "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice" }, "id": "bd7158d8c443edefaeb5bdef", "title": "Timestamp Microservice" @@ -8139,8 +7461,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice", - "blockName": "Back End Development and APIs Projects" + "slug": "/learn/back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice" }, "id": "bd7158d8c443edefaeb5bd0e", "title": "URL Shortener Microservice" @@ -8151,8 +7472,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/chain-middleware-to-create-a-time-server", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/chain-middleware-to-create-a-time-server" }, "id": "587d7fb1367417b2b2512bf4", "title": "Chain Middleware to Create a Time Server" @@ -8163,8 +7483,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/get-data-from-post-requests", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/get-data-from-post-requests" }, "id": "587d7fb2367417b2b2512bf8", "title": "Get Data from POST Requests" @@ -8175,8 +7494,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/get-query-parameter-input-from-the-client", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/get-query-parameter-input-from-the-client" }, "id": "587d7fb2367417b2b2512bf6", "title": "Get Query Parameter Input from the Client" @@ -8187,8 +7505,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/get-route-parameter-input-from-the-client", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/get-route-parameter-input-from-the-client" }, "id": "587d7fb2367417b2b2512bf5", "title": "Get Route Parameter Input from the Client" @@ -8199,8 +7516,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/implement-a-root-level-request-logger-middleware", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/implement-a-root-level-request-logger-middleware" }, "id": "587d7fb1367417b2b2512bf3", "title": "Implement a Root-Level Request Logger Middleware" @@ -8211,8 +7527,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/meet-the-node-console", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/meet-the-node-console" }, "id": "587d7fb0367417b2b2512bed", "title": "Meet the Node console" @@ -8223,8 +7538,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/serve-an-html-file", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/serve-an-html-file" }, "id": "587d7fb0367417b2b2512bef", "title": "Serve an HTML File" @@ -8235,8 +7549,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route" }, "id": "587d7fb1367417b2b2512bf1", "title": "Serve JSON on a Specific Route" @@ -8247,8 +7560,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/serve-static-assets", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/serve-static-assets" }, "id": "587d7fb0367417b2b2512bf0", "title": "Serve Static Assets" @@ -8259,8 +7571,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/start-a-working-express-server", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/start-a-working-express-server" }, "id": "587d7fb0367417b2b2512bee", "title": "Start a Working Express Server" @@ -8271,8 +7582,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/use-body-parser-to-parse-post-requests", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/use-body-parser-to-parse-post-requests" }, "id": "587d7fb2367417b2b2512bf7", "title": "Use body-parser to Parse POST Requests" @@ -8283,8 +7593,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/basic-node-and-express/use-the--env-file", - "blockName": "Basic Node and Express" + "slug": "/learn/back-end-development-and-apis/basic-node-and-express/use-the--env-file" }, "id": "587d7fb1367417b2b2512bf2", "title": "Use the .env File" @@ -8295,8 +7604,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-description-to-your-package-json", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-description-to-your-package-json" }, "id": "587d7fb3367417b2b2512bfc", "title": "Add a Description to Your package.json" @@ -8307,8 +7615,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-license-to-your-package-json", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-license-to-your-package-json" }, "id": "587d7fb4367417b2b2512bfe", "title": "Add a License to Your package.json" @@ -8319,8 +7626,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-version-to-your-package-json", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/add-a-version-to-your-package-json" }, "id": "587d7fb4367417b2b2512bff", "title": "Add a Version to Your package.json" @@ -8331,8 +7637,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/add-keywords-to-your-package-json", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/add-keywords-to-your-package-json" }, "id": "587d7fb4367417b2b2512bfd", "title": "Add Keywords to Your package.json" @@ -8343,8 +7648,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/expand-your-project-with-external-packages-from-npm", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/expand-your-project-with-external-packages-from-npm" }, "id": "587d7fb4367417b2b2512c00", "title": "Expand Your Project with External Packages from npm" @@ -8355,8 +7659,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/how-to-use-package-json-the-core-of-any-node-js-project-or-npm-package", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/how-to-use-package-json-the-core-of-any-node-js-project-or-npm-package" }, "id": "587d7fb3367417b2b2512bfb", "title": "How to Use package.json, the Core of Any Node.js Project or npm Package" @@ -8367,8 +7670,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/manage-npm-dependencies-by-understanding-semantic-versioning", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/manage-npm-dependencies-by-understanding-semantic-versioning" }, "id": "587d7fb5367417b2b2512c01", "title": "Manage npm Dependencies By Understanding Semantic Versioning" @@ -8379,8 +7681,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/remove-a-package-from-your-dependencies", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/remove-a-package-from-your-dependencies" }, "id": "587d7fb5367417b2b2512c04", "title": "Remove a Package from Your Dependencies" @@ -8391,8 +7692,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency" }, "id": "587d7fb5367417b2b2512c03", "title": "Use the Caret-Character to Use the Latest Minor Version of a Dependency" @@ -8403,8 +7703,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency", - "blockName": "Managing Packages with Npm" + "slug": "/learn/back-end-development-and-apis/managing-packages-with-npm/use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency" }, "id": "587d7fb5367417b2b2512c02", "title": "Use the Tilde-Character to Always Use the Latest Patch Version of a Dependency" @@ -8415,8 +7714,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/chain-search-query-helpers-to-narrow-search-results", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/chain-search-query-helpers-to-narrow-search-results" }, "id": "587d7fb9367417b2b2512c12", "title": "Chain Search Query Helpers to Narrow Search Results" @@ -8427,8 +7725,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/create-a-model", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/create-a-model" }, "id": "587d7fb6367417b2b2512c07", "title": "Create a Model" @@ -8439,8 +7736,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/create-and-save-a-record-of-a-model", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/create-and-save-a-record-of-a-model" }, "id": "587d7fb6367417b2b2512c09", "title": "Create and Save a Record of a Model" @@ -8451,8 +7747,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/create-many-records-with-model-create", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/create-many-records-with-model-create" }, "id": "587d7fb7367417b2b2512c0a", "title": "Create Many Records with model.create()" @@ -8463,8 +7758,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/delete-many-documents-with-model-remove", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/delete-many-documents-with-model-remove" }, "id": "587d7fb8367417b2b2512c11", "title": "Delete Many Documents with model.remove()" @@ -8475,8 +7769,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/delete-one-document-using-model-findbyidandremove", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/delete-one-document-using-model-findbyidandremove" }, "id": "587d7fb8367417b2b2512c10", "title": "Delete One Document Using model.findByIdAndRemove" @@ -8487,8 +7780,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose" }, "id": "587d7fb6367417b2b2512c06", "title": "Install and Set Up Mongoose" @@ -8499,8 +7791,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/perform-classic-updates-by-running-find-edit-then-save", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/perform-classic-updates-by-running-find-edit-then-save" }, "id": "587d7fb8367417b2b2512c0e", "title": "Perform Classic Updates by Running Find, Edit, then Save" @@ -8511,8 +7802,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/perform-new-updates-on-a-document-using-model-findoneandupdate", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/perform-new-updates-on-a-document-using-model-findoneandupdate" }, "id": "587d7fb8367417b2b2512c0f", "title": "Perform New Updates on a Document Using model.findOneAndUpdate()" @@ -8523,8 +7813,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-find-to-search-your-database", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-find-to-search-your-database" }, "id": "587d7fb7367417b2b2512c0b", "title": "Use model.find() to Search Your Database" @@ -8535,8 +7824,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-findbyid-to-search-your-database-by-id", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-findbyid-to-search-your-database-by-id" }, "id": "587d7fb7367417b2b2512c0d", "title": "Use model.findById() to Search Your Database By _id" @@ -8547,8 +7835,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-findone-to-return-a-single-matching-document-from-your-database", - "blockName": "MongoDB and Mongoose" + "slug": "/learn/back-end-development-and-apis/mongodb-and-mongoose/use-model-findone-to-return-a-single-matching-document-from-your-database" }, "id": "587d7fb7367417b2b2512c0c", "title": "Use model.findOne() to Return a Single Matching Document from Your Database" @@ -8559,8 +7846,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/announce-new-users", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/announce-new-users" }, "id": "589fc832f9fc0f352b528e78", "title": "Announce New Users" @@ -8571,8 +7857,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/authentication-strategies", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/authentication-strategies" }, "id": "5895f70df9fc0f352b528e68", "title": "Authentication Strategies" @@ -8583,8 +7868,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/authentication-with-socket-io", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/authentication-with-socket-io" }, "id": "589fc831f9fc0f352b528e77", "title": "Authentication with Socket.IO" @@ -8595,8 +7879,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/clean-up-your-project-with-modules", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/clean-up-your-project-with-modules" }, "id": "589690e6f9fc0f352b528e6e", "title": "Clean Up Your Project with Modules" @@ -8607,8 +7890,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/communicate-by-emitting", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/communicate-by-emitting" }, "id": "589fc831f9fc0f352b528e75", "title": "Communicate by Emitting" @@ -8619,8 +7901,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/create-new-middleware", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/create-new-middleware" }, "id": "5895f70df9fc0f352b528e6a", "title": "Create New Middleware" @@ -8631,8 +7912,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/handle-a-disconnect", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/handle-a-disconnect" }, "id": "589fc831f9fc0f352b528e76", "title": "Handle a Disconnect" @@ -8643,8 +7923,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/hashing-your-passwords", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/hashing-your-passwords" }, "id": "58a25c98f9fc0f352b528e7f", "title": "Hashing Your Passwords" @@ -8655,8 +7934,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/how-to-put-a-profile-together", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/how-to-put-a-profile-together" }, "id": "5895f70ef9fc0f352b528e6b", "title": "How to Put a Profile Together" @@ -8667,8 +7945,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/how-to-use-passport-strategies", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/how-to-use-passport-strategies" }, "id": "5895f70df9fc0f352b528e69", "title": "How to Use Passport Strategies" @@ -8679,8 +7956,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user" }, "id": "5895f70cf9fc0f352b528e67", "title": "Implement the Serialization of a Passport User" @@ -8691,8 +7967,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication-ii", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication-ii" }, "id": "589a69f5f9fc0f352b528e71", "title": "Implementation of Social Authentication II" @@ -8703,8 +7978,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication-iii", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication-iii" }, "id": "589a8eb3f9fc0f352b528e72", "title": "Implementation of Social Authentication III" @@ -8715,8 +7989,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/implementation-of-social-authentication" }, "id": "589a69f5f9fc0f352b528e70", "title": "Implementation of Social Authentication" @@ -8727,8 +8000,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/logging-a-user-out", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/logging-a-user-out" }, "id": "58965611f9fc0f352b528e6c", "title": "Logging a User Out" @@ -8739,8 +8011,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/registration-of-new-users", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/registration-of-new-users" }, "id": "58966a17f9fc0f352b528e6d", "title": "Registration of New Users" @@ -8751,8 +8022,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/send-and-display-chat-messages", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/send-and-display-chat-messages" }, "id": "589fc832f9fc0f352b528e79", "title": "Send and Display Chat Messages" @@ -8763,8 +8033,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/serialization-of-a-user-object", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/serialization-of-a-user-object" }, "id": "5895f70cf9fc0f352b528e66", "title": "Serialization of a User Object" @@ -8775,8 +8044,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/set-up-a-template-engine", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/set-up-a-template-engine" }, "id": "5895f700f9fc0f352b528e63", "title": "Set up a Template Engine" @@ -8787,8 +8055,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/set-up-passport", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/set-up-passport" }, "id": "5895f70cf9fc0f352b528e65", "title": "Set up Passport" @@ -8799,8 +8066,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/set-up-the-environment", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/set-up-the-environment" }, "id": "589fc830f9fc0f352b528e74", "title": "Set up the Environment" @@ -8811,8 +8077,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/advanced-node-and-express/use-a-template-engines-powers", - "blockName": "Advanced Node and Express" + "slug": "/learn/quality-assurance/advanced-node-and-express/use-a-template-engines-powers" }, "id": "5895f70bf9fc0f352b528e64", "title": "Use a Template Engine's Powers" @@ -8823,8 +8088,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/assert-deep-equality-with--deepequal-and--notdeepequal", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/assert-deep-equality-with--deepequal-and--notdeepequal" }, "id": "587d824c367417b2b2512c4c", "title": "Assert Deep Equality with .deepEqual and .notDeepEqual" @@ -8835,8 +8099,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/compare-the-properties-of-two-elements", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/compare-the-properties-of-two-elements" }, "id": "587d824c367417b2b2512c4d", "title": "Compare the Properties of Two Elements" @@ -8847,8 +8110,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work" }, "id": "587d824a367417b2b2512c46", "title": "Learn How JavaScript Assertions Work" @@ -8859,8 +8121,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iii---put-method", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iii---put-method" }, "id": "587d824f367417b2b2512c5a", "title": "Run Functional Tests on an API Response using Chai-HTTP III - PUT method" @@ -8871,8 +8132,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iv---put-method", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iv---put-method" }, "id": "587d824f367417b2b2512c5b", "title": "Run Functional Tests on an API Response using Chai-HTTP IV - PUT method" @@ -8883,8 +8143,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http-ii", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http-ii" }, "id": "587d824f367417b2b2512c59", "title": "Run Functional Tests on API Endpoints using Chai-HTTP II" @@ -8895,8 +8154,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http" }, "id": "587d824e367417b2b2512c58", "title": "Run Functional Tests on API Endpoints using Chai-HTTP" @@ -8907,8 +8165,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser-ii", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser-ii" }, "id": "5f8884f4c46685731aabfc41", "title": "Run Functional Tests Using a Headless Browser II" @@ -8919,8 +8176,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser" }, "id": "587d8250367417b2b2512c5d", "title": "Run Functional Tests Using a Headless Browser" @@ -8931,8 +8187,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/simulate-actions-using-a-headless-browser", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/simulate-actions-using-a-headless-browser" }, "id": "587d824f367417b2b2512c5c", "title": "Simulate Actions Using a Headless Browser" @@ -8943,8 +8198,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-for-truthiness", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-for-truthiness" }, "id": "587d824b367417b2b2512c49", "title": "Test for Truthiness" @@ -8955,8 +8209,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-string-contains-a-substring", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-string-contains-a-substring" }, "id": "587d824d367417b2b2512c53", "title": "Test if a String Contains a Substring" @@ -8967,8 +8220,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-falls-within-a-specific-range", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-falls-within-a-specific-range" }, "id": "587d824c367417b2b2512c4f", "title": "Test if a Value Falls within a Specific Range" @@ -8979,8 +8231,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-a-string", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-a-string" }, "id": "587d824d367417b2b2512c52", "title": "Test if a Value is a String" @@ -8991,8 +8242,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-an-array", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-an-array" }, "id": "587d824d367417b2b2512c50", "title": "Test if a Value is an Array" @@ -9003,8 +8253,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-of-a-specific-data-structure-type", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-of-a-specific-data-structure-type" }, "id": "587d824e367417b2b2512c56", "title": "Test if a Value is of a Specific Data Structure Type" @@ -9015,8 +8264,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-variable-or-function-is-defined", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-variable-or-function-is-defined" }, "id": "587d824b367417b2b2512c47", "title": "Test if a Variable or Function is Defined" @@ -9027,8 +8275,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-array-contains-an-item", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-array-contains-an-item" }, "id": "587d824d367417b2b2512c51", "title": "Test if an Array Contains an Item" @@ -9039,8 +8286,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-has-a-property", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-has-a-property" }, "id": "587d824e367417b2b2512c55", "title": "Test if an Object has a Property" @@ -9051,8 +8297,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-is-an-instance-of-a-constructor", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-is-an-instance-of-a-constructor" }, "id": "587d824e367417b2b2512c57", "title": "Test if an Object is an Instance of a Constructor" @@ -9063,8 +8308,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-one-value-is-below-or-at-least-as-large-as-another", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/test-if-one-value-is-below-or-at-least-as-large-as-another" }, "id": "587d824c367417b2b2512c4e", "title": "Test if One Value is Below or At Least as Large as Another" @@ -9075,8 +8319,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-assert-isok-and-assert-isnotok", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-assert-isok-and-assert-isnotok" }, "id": "587d824b367417b2b2512c48", "title": "Use Assert.isOK and Assert.isNotOK" @@ -9087,8 +8330,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-regular-expressions-to-test-a-string", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-regular-expressions-to-test-a-string" }, "id": "587d824d367417b2b2512c54", "title": "Use Regular Expressions to Test a String" @@ -9099,8 +8341,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-the-double-equals-to-assert-equality", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-the-double-equals-to-assert-equality" }, "id": "587d824b367417b2b2512c4a", "title": "Use the Double Equals to Assert Equality" @@ -9111,8 +8352,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-the-triple-equals-to-assert-strict-equality", - "blockName": "Quality Assurance and Testing with Chai" + "slug": "/learn/quality-assurance/quality-assurance-and-testing-with-chai/use-the-triple-equals-to-assert-strict-equality" }, "id": "587d824b367417b2b2512c4b", "title": "Use the Triple Equals to Assert Strict Equality" @@ -9123,8 +8363,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-projects/american-british-translator", - "blockName": "Quality Assurance Projects" + "slug": "/learn/quality-assurance/quality-assurance-projects/american-british-translator" }, "id": "5e601c0d5ac9d0ecd8b94afe", "title": "American British Translator" @@ -9135,8 +8374,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-projects/issue-tracker", - "blockName": "Quality Assurance Projects" + "slug": "/learn/quality-assurance/quality-assurance-projects/issue-tracker" }, "id": "587d8249367417b2b2512c42", "title": "Issue Tracker" @@ -9147,8 +8385,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-projects/metric-imperial-converter", - "blockName": "Quality Assurance Projects" + "slug": "/learn/quality-assurance/quality-assurance-projects/metric-imperial-converter" }, "id": "587d8249367417b2b2512c41", "title": "Metric-Imperial Converter" @@ -9159,8 +8396,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-projects/personal-library", - "blockName": "Quality Assurance Projects" + "slug": "/learn/quality-assurance/quality-assurance-projects/personal-library" }, "id": "587d824a367417b2b2512c43", "title": "Personal Library" @@ -9171,8 +8407,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/quality-assurance/quality-assurance-projects/sudoku-solver", - "blockName": "Quality Assurance Projects" + "slug": "/learn/quality-assurance/quality-assurance-projects/sudoku-solver" }, "id": "5e601bf95ac9d0ecd8b94afd", "title": "Sudoku Solver" @@ -9183,8 +8418,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/build-your-own-functions", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/build-your-own-functions" }, "id": "5e7b9f060b6c005b0e76f05b", "title": "Build your own Functions" @@ -9195,8 +8429,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/comparing-and-sorting-tuples", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/comparing-and-sorting-tuples" }, "id": "5e7b9f0b0b6c005b0e76f06d", "title": "Comparing and Sorting Tuples" @@ -9207,8 +8440,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/conditional-execution", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/conditional-execution" }, "id": "5e7b9f050b6c005b0e76f058", "title": "Conditional Execution" @@ -9219,8 +8451,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/data-visualization-mailing-lists", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/data-visualization-mailing-lists" }, "id": "5e7b9f6a0b6c005b0e76f097", "title": "Data Visualization: Mailing Lists" @@ -9231,8 +8462,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/data-visualization-page-rank", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/data-visualization-page-rank" }, "id": "5e7b9f6a0b6c005b0e76f096", "title": "Data Visualization: Page Rank" @@ -9243,8 +8473,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/dictionaries-and-loops", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/dictionaries-and-loops" }, "id": "5e7b9f0a0b6c005b0e76f069", "title": "Dictionaries and Loops" @@ -9255,8 +8484,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/dictionaries-common-applications", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/dictionaries-common-applications" }, "id": "5e7b9f090b6c005b0e76f068", "title": "Dictionaries: Common Applications" @@ -9267,8 +8495,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/files-as-a-sequence", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/files-as-a-sequence" }, "id": "5e7b9f080b6c005b0e76f063", "title": "Files as a Sequence" @@ -9279,8 +8506,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/intermediate-expressions", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/intermediate-expressions" }, "id": "5e7b9f050b6c005b0e76f057", "title": "Intermediate Expressions" @@ -9291,8 +8517,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/intermediate-strings", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/intermediate-strings" }, "id": "5e7b9f070b6c005b0e76f061", "title": "Intermediate Strings" @@ -9303,8 +8528,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/introduction-elements-of-python", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/introduction-elements-of-python" }, "id": "5e6a54c358d3af90110a60a3", "title": "Introduction: Elements of Python" @@ -9315,8 +8539,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/introduction-hardware-architecture", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/introduction-hardware-architecture" }, "id": "5e6a54af58d3af90110a60a1", "title": "Introduction: Hardware Architecture" @@ -9327,8 +8550,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/introduction-python-as-a-language", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/introduction-python-as-a-language" }, "id": "5e6a54ba58d3af90110a60a2", "title": "Introduction: Python as a Language" @@ -9339,8 +8561,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/introduction-why-program", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/introduction-why-program" }, "id": "5e6a54a558d3af90110a60a0", "title": "Introduction: Why Program?" @@ -9351,8 +8572,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/iterations-definite-loops", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/iterations-definite-loops" }, "id": "5e7b9f070b6c005b0e76f05d", "title": "Iterations: Definite Loops" @@ -9363,8 +8583,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/iterations-loop-idioms", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/iterations-loop-idioms" }, "id": "5e7b9f070b6c005b0e76f05e", "title": "Iterations: Loop Idioms" @@ -9375,8 +8594,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/iterations-more-patterns", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/iterations-more-patterns" }, "id": "5e7b9f070b6c005b0e76f05f", "title": "Iterations: More Patterns" @@ -9387,8 +8605,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/loops-and-iterations", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/loops-and-iterations" }, "id": "5e7b9f060b6c005b0e76f05c", "title": "Loops and Iterations" @@ -9399,8 +8616,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/make-a-relational-database", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/make-a-relational-database" }, "id": "5e7b9f170b6c005b0e76f08b", "title": "Make a Relational Database" @@ -9411,8 +8627,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/more-conditional-structures", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/more-conditional-structures" }, "id": "5e7b9f060b6c005b0e76f059", "title": "More Conditional Structures" @@ -9423,8 +8638,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-protocol", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-protocol" }, "id": "5e7b9f0c0b6c005b0e76f072", "title": "Networking Protocol" @@ -9435,8 +8649,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-text-processing", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-text-processing" }, "id": "5e7b9f0c0b6c005b0e76f074", "title": "Networking: Text Processing" @@ -9447,8 +8660,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-using-urllib-in-python", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-using-urllib-in-python" }, "id": "5e7b9f0d0b6c005b0e76f075", "title": "Networking: Using urllib in Python" @@ -9459,8 +8671,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-web-scraping-with-python", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-web-scraping-with-python" }, "id": "5e7b9f0d0b6c005b0e76f076", "title": "Networking: Web Scraping with Python" @@ -9471,8 +8682,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-with-python", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-with-python" }, "id": "5e7b9f0c0b6c005b0e76f071", "title": "Networking with Python" @@ -9483,8 +8693,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-write-a-web-browser", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/networking-write-a-web-browser" }, "id": "5e7b9f0c0b6c005b0e76f073", "title": "Networking: Write a Web Browser" @@ -9495,8 +8704,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/object-lifecycle", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/object-lifecycle" }, "id": "5e7b9f170b6c005b0e76f087", "title": "Object Lifecycle" @@ -9507,8 +8715,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/objects-a-sample-class", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/objects-a-sample-class" }, "id": "5e7b9f160b6c005b0e76f086", "title": "Objects: A Sample Class" @@ -9519,8 +8726,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/objects-inheritance", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/objects-inheritance" }, "id": "5e7b9f170b6c005b0e76f088", "title": "Objects: Inheritance" @@ -9531,8 +8737,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/python-dictionaries", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/python-dictionaries" }, "id": "5e7b9f090b6c005b0e76f067", "title": "Python Dictionaries" @@ -9543,8 +8748,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/python-functions", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/python-functions" }, "id": "5e7b9f060b6c005b0e76f05a", "title": "Python Functions" @@ -9555,8 +8759,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/python-lists", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/python-lists" }, "id": "5e7b9f080b6c005b0e76f064", "title": "Python Lists" @@ -9567,8 +8770,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/python-objects", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/python-objects" }, "id": "5e7b9f160b6c005b0e76f085", "title": "Python Objects" @@ -9579,8 +8781,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/reading-files", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/reading-files" }, "id": "5e7b9f080b6c005b0e76f062", "title": "Reading Files" @@ -9591,8 +8792,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/regular-expressions-matching-and-extracting-data", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/regular-expressions-matching-and-extracting-data" }, "id": "5e7b9f0b0b6c005b0e76f06f", "title": "Regular Expressions: Matching and Extracting Data" @@ -9603,8 +8803,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/regular-expressions-practical-applications", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/regular-expressions-practical-applications" }, "id": "5e7b9f0b0b6c005b0e76f070", "title": "Regular Expressions: Practical Applications" @@ -9615,8 +8814,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/regular-expressions", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/regular-expressions" }, "id": "5e7b9f0b0b6c005b0e76f06e", "title": "Regular Expressions" @@ -9627,8 +8825,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-database-design", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-database-design" }, "id": "5e7b9f180b6c005b0e76f08c", "title": "Relational Database Design" @@ -9639,8 +8836,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite" }, "id": "5e7b9f170b6c005b0e76f08a", "title": "Relational Databases and SQLite" @@ -9651,8 +8847,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-databases-join-operation", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-databases-join-operation" }, "id": "5e7b9f180b6c005b0e76f08f", "title": "Relational Databases: Join Operation" @@ -9663,8 +8858,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-databases-many-to-many-relationships", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-databases-many-to-many-relationships" }, "id": "5e7b9f190b6c005b0e76f090", "title": "Relational Databases: Many-to-many Relationships" @@ -9675,8 +8869,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-databases-relationship-building", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/relational-databases-relationship-building" }, "id": "5e7b9f180b6c005b0e76f08e", "title": "Relational Databases: Relationship Building" @@ -9687,8 +8880,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/representing-relationships-in-a-relational-database", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/representing-relationships-in-a-relational-database" }, "id": "5e7b9f180b6c005b0e76f08d", "title": "Representing Relationships in a Relational Database" @@ -9699,8 +8891,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/strings-and-lists", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/strings-and-lists" }, "id": "5e7b9f090b6c005b0e76f066", "title": "Strings and Lists" @@ -9711,8 +8902,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/strings-in-python", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/strings-in-python" }, "id": "5e7b9f070b6c005b0e76f060", "title": "Strings in Python" @@ -9723,8 +8913,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/the-tuples-collection", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/the-tuples-collection" }, "id": "5e7b9f0a0b6c005b0e76f06c", "title": "The Tuples Collection" @@ -9735,8 +8924,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/using-web-services", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/using-web-services" }, "id": "5e7b9f0e0b6c005b0e76f07a", "title": "Using Web Services" @@ -9747,8 +8935,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/variables-expressions-and-statements", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/variables-expressions-and-statements" }, "id": "5e7b9f050b6c005b0e76f056", "title": "Variables, Expressions, and Statements" @@ -9759,8 +8946,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/visualizing-data-with-python", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/visualizing-data-with-python" }, "id": "5e7b9f690b6c005b0e76f095", "title": "Visualizing Data with Python" @@ -9771,8 +8957,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-api-rate-limiting-and-security", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-api-rate-limiting-and-security" }, "id": "5e7b9f150b6c005b0e76f080", "title": "Web Services: API Rate Limiting and Security" @@ -9783,8 +8968,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-apis", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-apis" }, "id": "5e7b9f150b6c005b0e76f07f", "title": "Web Services: APIs" @@ -9795,8 +8979,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-json", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-json" }, "id": "5e7b9f140b6c005b0e76f07d", "title": "Web Services: JSON" @@ -9807,8 +8990,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-service-oriented-approach", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-service-oriented-approach" }, "id": "5e7b9f140b6c005b0e76f07e", "title": "Web Services: Service Oriented Approach" @@ -9819,8 +9001,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-xml-schema", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-xml-schema" }, "id": "5e7b9f0e0b6c005b0e76f07c", "title": "Web Services: XML Schema" @@ -9831,8 +9012,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-xml", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/web-services-xml" }, "id": "5e7b9f0e0b6c005b0e76f07b", "title": "Web Services: XML" @@ -9843,8 +9023,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/python-for-everybody/working-with-lists", - "blockName": "Python for Everybody" + "slug": "/learn/scientific-computing-with-python/python-for-everybody/working-with-lists" }, "id": "5e7b9f090b6c005b0e76f065", "title": "Working with Lists" @@ -9855,8 +9034,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/arithmetic-formatter", - "blockName": "Scientific Computing with Python Projects" + "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/arithmetic-formatter" }, "id": "5e44412c903586ffb414c94c", "title": "Arithmetic Formatter" @@ -9867,8 +9045,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/budget-app", - "blockName": "Scientific Computing with Python Projects" + "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/budget-app" }, "id": "5e44413e903586ffb414c94e", "title": "Budget App" @@ -9879,8 +9056,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/polygon-area-calculator", - "blockName": "Scientific Computing with Python Projects" + "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/polygon-area-calculator" }, "id": "5e444147903586ffb414c94f", "title": "Polygon Area Calculator" @@ -9891,8 +9067,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/probability-calculator", - "blockName": "Scientific Computing with Python Projects" + "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/probability-calculator" }, "id": "5e44414f903586ffb414c950", "title": "Probability Calculator" @@ -9903,8 +9078,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/time-calculator", - "blockName": "Scientific Computing with Python Projects" + "slug": "/learn/scientific-computing-with-python/scientific-computing-with-python-projects/time-calculator" }, "id": "5e444136903586ffb414c94d", "title": "Time Calculator" @@ -9915,8 +9089,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-a", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-a" }, "id": "5e9a093a74c4063ca6f7c14d", "title": "Data Analysis Example A" @@ -9927,8 +9100,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-b", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-b" }, "id": "5e9a093a74c4063ca6f7c14e", "title": "Data Analysis Example B" @@ -9939,8 +9111,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-and-visualizations", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-and-visualizations" }, "id": "5e9a093a74c4063ca6f7c160", "title": "Data Cleaning and Visualizations" @@ -9951,8 +9122,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-duplicates", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-duplicates" }, "id": "5e9a093a74c4063ca6f7c15f", "title": "Data Cleaning Duplicates" @@ -9963,8 +9133,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-introduction", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-introduction" }, "id": "5e9a093a74c4063ca6f7c15d", "title": "Data Cleaning Introduction" @@ -9975,8 +9144,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-with-dataframes", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/data-cleaning-with-dataframes" }, "id": "5e9a093a74c4063ca6f7c15e", "title": "Data Cleaning with DataFrames" @@ -9987,8 +9155,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/how-to-use-jupyter-notebooks-intro", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/how-to-use-jupyter-notebooks-intro" }, "id": "5e9a093a74c4063ca6f7c14f", "title": "How to use Jupyter Notebooks Intro" @@ -9999,8 +9166,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/introduction-to-data-analysis", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/introduction-to-data-analysis" }, "id": "5e9a093a74c4063ca6f7c14c", "title": "Introduction to Data Analysis" @@ -10011,8 +9177,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-cells", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-cells" }, "id": "5e9a093a74c4063ca6f7c150", "title": "Jupyter Notebooks Cells" @@ -10023,8 +9188,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-importing-and-exporting-data", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-importing-and-exporting-data" }, "id": "5e9a093a74c4063ca6f7c151", "title": "Jupyter Notebooks Importing and Exporting Data" @@ -10035,8 +9199,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-algebra-and-size", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-algebra-and-size" }, "id": "5e9a093a74c4063ca6f7c157", "title": "Numpy Algebra and Size" @@ -10047,8 +9210,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-arrays", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-arrays" }, "id": "5e9a093a74c4063ca6f7c154", "title": "Numpy Arrays" @@ -10059,8 +9221,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-boolean-arrays", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-boolean-arrays" }, "id": "5e9a093a74c4063ca6f7c156", "title": "Numpy Boolean Arrays" @@ -10071,8 +9232,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a" }, "id": "5e9a093a74c4063ca6f7c152", "title": "Numpy Introduction A" @@ -10083,8 +9243,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-b", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-b" }, "id": "5e9a093a74c4063ca6f7c153", "title": "Numpy Introduction B" @@ -10095,8 +9254,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-operations", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/numpy-operations" }, "id": "5e9a093a74c4063ca6f7c155", "title": "Numpy Operations" @@ -10107,8 +9265,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-conditional-selection-and-modifying-dataframes", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-conditional-selection-and-modifying-dataframes" }, "id": "5e9a093a74c4063ca6f7c15b", "title": "Pandas Conditional Selection and Modifying DataFrames" @@ -10119,8 +9276,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns" }, "id": "5e9a093a74c4063ca6f7c15c", "title": "Pandas Creating Columns" @@ -10131,8 +9287,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-dataframes", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-dataframes" }, "id": "5e9a093a74c4063ca6f7c15a", "title": "Pandas DataFrames" @@ -10143,8 +9298,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-indexing-and-conditional-selection", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-indexing-and-conditional-selection" }, "id": "5e9a093a74c4063ca6f7c159", "title": "Pandas Indexing and Conditional Selection" @@ -10155,8 +9309,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-introduction", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/pandas-introduction" }, "id": "5e9a093a74c4063ca6f7c158", "title": "Pandas Introduction" @@ -10167,8 +9320,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/parsing-html-and-saving-data", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/parsing-html-and-saving-data" }, "id": "5e9a093a74c4063ca6f7c164", "title": "Parsing HTML and Saving Data" @@ -10179,8 +9331,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections" }, "id": "5e9a093a74c4063ca6f7c166", "title": "Python Functions and Collections" @@ -10191,8 +9342,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/python-introduction", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/python-introduction" }, "id": "5e9a093a74c4063ca6f7c165", "title": "Python Introduction" @@ -10203,8 +9353,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/python-iteration-and-modules", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/python-iteration-and-modules" }, "id": "5e9a093a74c4063ca6f7c167", "title": "Python Iteration and Modules" @@ -10215,8 +9364,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-csv-and-txt", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-csv-and-txt" }, "id": "5e9a093a74c4063ca6f7c162", "title": "Reading Data CSV and TXT" @@ -10227,8 +9375,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-from-databases", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-from-databases" }, "id": "5e9a093a74c4063ca6f7c163", "title": "Reading Data from Databases" @@ -10239,8 +9386,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction", - "blockName": "Data Analysis with Python Course" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction" }, "id": "5e9a093a74c4063ca6f7c161", "title": "Reading Data Introduction" @@ -10251,8 +9397,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/demographic-data-analyzer", - "blockName": "Data Analysis with Python Projects" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/demographic-data-analyzer" }, "id": "5e46f7e5ac417301a38fb929", "title": "Demographic Data Analyzer" @@ -10263,8 +9408,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/mean-variance-standard-deviation-calculator", - "blockName": "Data Analysis with Python Projects" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/mean-variance-standard-deviation-calculator" }, "id": "5e46f7e5ac417301a38fb928", "title": "Mean-Variance-Standard Deviation Calculator" @@ -10275,8 +9419,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/medical-data-visualizer", - "blockName": "Data Analysis with Python Projects" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/medical-data-visualizer" }, "id": "5e46f7f8ac417301a38fb92a", "title": "Medical Data Visualizer" @@ -10287,8 +9430,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/page-view-time-series-visualizer", - "blockName": "Data Analysis with Python Projects" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/page-view-time-series-visualizer" }, "id": "5e46f802ac417301a38fb92b", "title": "Page View Time Series Visualizer" @@ -10299,8 +9441,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor", - "blockName": "Data Analysis with Python Projects" + "slug": "/learn/data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor" }, "id": "5e4f5c4b570f7e3a4949899f", "title": "Sea Level Predictor" @@ -10311,8 +9452,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/numpy/accessing-and-changing-elements-rows-columns", - "blockName": "Numpy" + "slug": "/learn/data-analysis-with-python/numpy/accessing-and-changing-elements-rows-columns" }, "id": "5e9a0a8e09c5df3cc3600ed4", "title": "Accessing and Changing Elements, Rows, Columns" @@ -10323,8 +9463,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/numpy/basics-of-numpy", - "blockName": "Numpy" + "slug": "/learn/data-analysis-with-python/numpy/basics-of-numpy" }, "id": "5e9a0a8e09c5df3cc3600ed3", "title": "Basics of Numpy" @@ -10335,8 +9474,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/numpy/copying-arrays-warning", - "blockName": "Numpy" + "slug": "/learn/data-analysis-with-python/numpy/copying-arrays-warning" }, "id": "5e9a0a8e09c5df3cc3600ed7", "title": "Copying Arrays Warning" @@ -10347,8 +9485,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/numpy/initialize-array-problem", - "blockName": "Numpy" + "slug": "/learn/data-analysis-with-python/numpy/initialize-array-problem" }, "id": "5e9a0a8e09c5df3cc3600ed6", "title": "Initialize Array Problem" @@ -10359,8 +9496,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/numpy/initializing-different-arrays", - "blockName": "Numpy" + "slug": "/learn/data-analysis-with-python/numpy/initializing-different-arrays" }, "id": "5e9a0a8e09c5df3cc3600ed5", "title": "Initializing Different Arrays" @@ -10371,8 +9507,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/numpy/loading-data-and-advanced-indexing", - "blockName": "Numpy" + "slug": "/learn/data-analysis-with-python/numpy/loading-data-and-advanced-indexing" }, "id": "5e9a0a8e09c5df3cc3600eda", "title": "Loading Data and Advanced Indexing" @@ -10383,8 +9518,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/numpy/mathematics", - "blockName": "Numpy" + "slug": "/learn/data-analysis-with-python/numpy/mathematics" }, "id": "5e9a0a8e09c5df3cc3600ed8", "title": "Mathematics" @@ -10395,8 +9529,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/numpy/reorganizing-arrays", - "blockName": "Numpy" + "slug": "/learn/data-analysis-with-python/numpy/reorganizing-arrays" }, "id": "5e9a0a8e09c5df3cc3600ed9", "title": "Reorganizing Arrays" @@ -10407,8 +9540,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/data-analysis-with-python/numpy/what-is-numpy", - "blockName": "Numpy" + "slug": "/learn/data-analysis-with-python/numpy/what-is-numpy" }, "id": "5e9a0a8e09c5df3cc3600ed2", "title": "What is NumPy" @@ -10419,8 +9551,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-projects/anonymous-message-board", - "blockName": "Information Security Projects" + "slug": "/learn/information-security/information-security-projects/anonymous-message-board" }, "id": "587d824a367417b2b2512c45", "title": "Anonymous Message Board" @@ -10431,8 +9562,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-projects/port-scanner", - "blockName": "Information Security Projects" + "slug": "/learn/information-security/information-security-projects/port-scanner" }, "id": "5e46f979ac417301a38fb932", "title": "Port Scanner" @@ -10443,8 +9573,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-projects/secure-real-time-multiplayer-game", - "blockName": "Information Security Projects" + "slug": "/learn/information-security/information-security-projects/secure-real-time-multiplayer-game" }, "id": "5e601c775ac9d0ecd8b94aff", "title": "Secure Real Time Multiplayer Game" @@ -10455,8 +9584,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-projects/sha-1-password-cracker", - "blockName": "Information Security Projects" + "slug": "/learn/information-security/information-security-projects/sha-1-password-cracker" }, "id": "5e46f983ac417301a38fb933", "title": "SHA-1 Password Cracker" @@ -10467,8 +9595,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-projects/stock-price-checker", - "blockName": "Information Security Projects" + "slug": "/learn/information-security/information-security-projects/stock-price-checker" }, "id": "587d824a367417b2b2512c44", "title": "Stock Price Checker" @@ -10479,8 +9606,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/ask-browsers-to-access-your-site-via-https-only-with-helmet-hsts", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/ask-browsers-to-access-your-site-via-https-only-with-helmet-hsts" }, "id": "587d8248367417b2b2512c3c", "title": "Ask Browsers to Access Your Site via HTTPS Only with helmet.hsts()" @@ -10491,8 +9617,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/avoid-inferring-the-response-mime-type-with-helmet-nosniff", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/avoid-inferring-the-response-mime-type-with-helmet-nosniff" }, "id": "587d8248367417b2b2512c3a", "title": "Avoid Inferring the Response MIME Type with helmet.noSniff()" @@ -10503,8 +9628,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/configure-helmet-using-the-parent-helmet-middleware", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/configure-helmet-using-the-parent-helmet-middleware" }, "id": "587d8249367417b2b2512c40", "title": "Configure Helmet Using the ‘parent’ helmet() Middleware" @@ -10515,8 +9639,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet-nocache", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet-nocache" }, "id": "587d8249367417b2b2512c3e", "title": "Disable Client-Side Caching with helmet.noCache()" @@ -10527,8 +9650,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/disable-dns-prefetching-with-helmet-dnsprefetchcontrol", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/disable-dns-prefetching-with-helmet-dnsprefetchcontrol" }, "id": "587d8248367417b2b2512c3d", "title": "Disable DNS Prefetching with helmet.dnsPrefetchControl()" @@ -10539,8 +9661,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/hash-and-compare-passwords-asynchronously", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/hash-and-compare-passwords-asynchronously" }, "id": "58a25bcff9fc0f352b528e7d", "title": "Hash and Compare Passwords Asynchronously" @@ -10551,8 +9672,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/hash-and-compare-passwords-synchronously", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/hash-and-compare-passwords-synchronously" }, "id": "58a25bcff9fc0f352b528e7e", "title": "Hash and Compare Passwords Synchronously" @@ -10563,8 +9683,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/hide-potentially-dangerous-information-using-helmet-hidepoweredby", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/hide-potentially-dangerous-information-using-helmet-hidepoweredby" }, "id": "587d8247367417b2b2512c37", "title": "Hide Potentially Dangerous Information Using helmet.hidePoweredBy()" @@ -10575,8 +9694,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/install-and-require-helmet", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/install-and-require-helmet" }, "id": "587d8247367417b2b2512c36", "title": "Install and Require Helmet" @@ -10587,8 +9705,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet-frameguard", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet-frameguard" }, "id": "587d8247367417b2b2512c38", "title": "Mitigate the Risk of Clickjacking with helmet.frameguard()" @@ -10599,8 +9716,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/mitigate-the-risk-of-cross-site-scripting-xss-attacks-with-helmet-xssfilter", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/mitigate-the-risk-of-cross-site-scripting-xss-attacks-with-helmet-xssfilter" }, "id": "587d8247367417b2b2512c39", "title": "Mitigate the Risk of Cross Site Scripting (XSS) Attacks with helmet.xssFilter()" @@ -10611,8 +9727,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/prevent-ie-from-opening-untrusted-html-with-helmet-ienoopen", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/prevent-ie-from-opening-untrusted-html-with-helmet-ienoopen" }, "id": "587d8248367417b2b2512c3b", "title": "Prevent IE from Opening Untrusted HTML with helmet.ieNoOpen()" @@ -10623,8 +9738,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/set-a-content-security-policy-with-helmet-contentsecuritypolicy", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/set-a-content-security-policy-with-helmet-contentsecuritypolicy" }, "id": "587d8249367417b2b2512c3f", "title": "Set a Content Security Policy with helmet.contentSecurityPolicy()" @@ -10635,8 +9749,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/information-security-with-helmetjs/understand-bcrypt-hashes", - "blockName": "Information Security with HelmetJS" + "slug": "/learn/information-security/information-security-with-helmetjs/understand-bcrypt-hashes" }, "id": "58a25bcef9fc0f352b528e7c", "title": "Understand BCrypt Hashes" @@ -10647,8 +9760,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/python-for-penetration-testing/creating-a-tcp-client", - "blockName": "Python for Penetration Testing" + "slug": "/learn/information-security/python-for-penetration-testing/creating-a-tcp-client" }, "id": "5ea9997bbec2e9bc47e94db0", "title": "Creating a TCP Client" @@ -10659,8 +9771,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/python-for-penetration-testing/developing-a-banner-grabber", - "blockName": "Python for Penetration Testing" + "slug": "/learn/information-security/python-for-penetration-testing/developing-a-banner-grabber" }, "id": "5ea9997bbec2e9bc47e94db3", "title": "Developing a Banner Grabber" @@ -10671,8 +9782,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/python-for-penetration-testing/developing-a-port-scanner", - "blockName": "Python for Penetration Testing" + "slug": "/learn/information-security/python-for-penetration-testing/developing-a-port-scanner" }, "id": "5ea9997bbec2e9bc47e94db4", "title": "Developing a Port Scanner" @@ -10683,8 +9793,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-1", - "blockName": "Python for Penetration Testing" + "slug": "/learn/information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-1" }, "id": "5ea9997bbec2e9bc47e94db1", "title": "Developing an Nmap Scanner part 1" @@ -10695,8 +9804,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-2", - "blockName": "Python for Penetration Testing" + "slug": "/learn/information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-2" }, "id": "5ea9997bbec2e9bc47e94db2", "title": "Developing an Nmap Scanner part 2" @@ -10707,8 +9815,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/python-for-penetration-testing/introduction-and-setup", - "blockName": "Python for Penetration Testing" + "slug": "/learn/information-security/python-for-penetration-testing/introduction-and-setup" }, "id": "5ea9997bbec2e9bc47e94dae", "title": "Introduction and Setup" @@ -10719,8 +9826,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/information-security/python-for-penetration-testing/understanding-sockets-and-creating-a-tcp-server", - "blockName": "Python for Penetration Testing" + "slug": "/learn/information-security/python-for-penetration-testing/understanding-sockets-and-creating-a-tcp-server" }, "id": "5ea9997bbec2e9bc47e94daf", "title": "Understanding Sockets and Creating a TCP Server" @@ -10731,8 +9837,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/find-the-symmetric-difference", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/find-the-symmetric-difference" }, "id": "a3f503de51cf954ede28891d", "title": "Find the Symmetric Difference" @@ -10743,8 +9848,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/implement-binary-search", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/implement-binary-search" }, "id": "61abc7ebf3029b56226de5b6", "title": "Implement Binary Search" @@ -10755,8 +9859,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/implement-bubble-sort", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/implement-bubble-sort" }, "id": "8d5123c8c441eddfaeb5bdef", "title": "Implement Bubble Sort" @@ -10767,8 +9870,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/implement-insertion-sort", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/implement-insertion-sort" }, "id": "587d8259367417b2b2512c86", "title": "Implement Insertion Sort" @@ -10779,8 +9881,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/implement-merge-sort", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/implement-merge-sort" }, "id": "587d825c367417b2b2512c8f", "title": "Implement Merge Sort" @@ -10791,8 +9892,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/implement-quick-sort", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/implement-quick-sort" }, "id": "587d825a367417b2b2512c89", "title": "Implement Quick Sort" @@ -10803,8 +9903,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/implement-selection-sort", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/implement-selection-sort" }, "id": "587d8259367417b2b2512c85", "title": "Implement Selection Sort" @@ -10815,8 +9914,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/inventory-update", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/inventory-update" }, "id": "a56138aff60341a09ed6c480", "title": "Inventory Update" @@ -10827,8 +9925,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/no-repeats-please", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/no-repeats-please" }, "id": "a7bf700cd123b9a54eef01d5", "title": "No Repeats Please" @@ -10839,8 +9936,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/algorithms/pairwise", - "blockName": "Algorithms" + "slug": "/learn/coding-interview-prep/algorithms/pairwise" }, "id": "a3f503de51cfab748ff001aa", "title": "Pairwise" @@ -10851,8 +9947,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/add-a-new-element-to-a-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/add-a-new-element-to-a-binary-search-tree" }, "id": "587d8257367417b2b2512c7b", "title": "Add a New Element to a Binary Search Tree" @@ -10863,8 +9958,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/add-elements-at-a-specific-index-in-a-linked-list", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/add-elements-at-a-specific-index-in-a-linked-list" }, "id": "587d8252367417b2b2512c67", "title": "Add Elements at a Specific Index in a Linked List" @@ -10875,8 +9969,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/adjacency-list", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/adjacency-list" }, "id": "587d8256367417b2b2512c77", "title": "Adjacency List" @@ -10887,8 +9980,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/adjacency-matrix", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/adjacency-matrix" }, "id": "587d8256367417b2b2512c78", "title": "Adjacency Matrix" @@ -10899,8 +9991,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/breadth-first-search", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/breadth-first-search" }, "id": "587d825c367417b2b2512c90", "title": "Breadth-First Search" @@ -10911,8 +10002,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/check-if-an-element-is-present-in-a-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/check-if-an-element-is-present-in-a-binary-search-tree" }, "id": "587d8257367417b2b2512c7c", "title": "Check if an Element is Present in a Binary Search Tree" @@ -10923,8 +10013,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/check-if-tree-is-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/check-if-tree-is-binary-search-tree" }, "id": "5cc0c1b32479e176caf3b422", "title": "Check if Tree is Binary Search Tree" @@ -10935,8 +10024,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-circular-queue", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-circular-queue" }, "id": "587d8255367417b2b2512c75", "title": "Create a Circular Queue" @@ -10947,8 +10035,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-doubly-linked-list", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-doubly-linked-list" }, "id": "587d825a367417b2b2512c87", "title": "Create a Doubly Linked List" @@ -10959,8 +10046,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-hash-table", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-hash-table" }, "id": "587d825b367417b2b2512c8e", "title": "Create a Hash Table" @@ -10971,8 +10057,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-linked-list-class", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-linked-list-class" }, "id": "587d8251367417b2b2512c62", "title": "Create a Linked List Class" @@ -10983,8 +10068,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-map-data-structure", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-map-data-structure" }, "id": "8d5823c8c441eddfaeb5bdef", "title": "Create a Map Data Structure" @@ -10995,8 +10079,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-priority-queue-class", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-priority-queue-class" }, "id": "587d8255367417b2b2512c74", "title": "Create a Priority Queue Class" @@ -11007,8 +10090,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-queue-class", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-queue-class" }, "id": "587d8250367417b2b2512c60", "title": "Create a Queue Class" @@ -11019,8 +10101,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-set-class", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-set-class" }, "id": "8d1323c8c441eddfaeb5bdef", "title": "Create a Set Class" @@ -11031,8 +10112,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-stack-class", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-stack-class" }, "id": "587d8250367417b2b2512c5f", "title": "Create a Stack Class" @@ -11043,8 +10123,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-a-trie-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-a-trie-search-tree" }, "id": "587d8259367417b2b2512c84", "title": "Create a Trie Search Tree" @@ -11055,8 +10134,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-an-es6-javascript-map", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-an-es6-javascript-map" }, "id": "587d825b367417b2b2512c8d", "title": "Create an ES6 JavaScript Map" @@ -11067,8 +10145,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/create-and-add-to-sets-in-es6", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/create-and-add-to-sets-in-es6" }, "id": "587d8254367417b2b2512c70", "title": "Create and Add to Sets in ES6" @@ -11079,8 +10156,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/delete-a-leaf-node-in-a-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/delete-a-leaf-node-in-a-binary-search-tree" }, "id": "587d8258367417b2b2512c80", "title": "Delete a Leaf Node in a Binary Search Tree" @@ -11091,8 +10167,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/delete-a-node-with-one-child-in-a-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/delete-a-node-with-one-child-in-a-binary-search-tree" }, "id": "587d8258367417b2b2512c81", "title": "Delete a Node with One Child in a Binary Search Tree" @@ -11103,8 +10178,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/delete-a-node-with-two-children-in-a-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/delete-a-node-with-two-children-in-a-binary-search-tree" }, "id": "587d8258367417b2b2512c82", "title": "Delete a Node with Two Children in a Binary Search Tree" @@ -11115,8 +10189,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/depth-first-search", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/depth-first-search" }, "id": "587d825d367417b2b2512c96", "title": "Depth-First Search" @@ -11127,8 +10200,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/find-the-minimum-and-maximum-height-of-a-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/find-the-minimum-and-maximum-height-of-a-binary-search-tree" }, "id": "587d8257367417b2b2512c7d", "title": "Find the Minimum and Maximum Height of a Binary Search Tree" @@ -11139,8 +10211,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/find-the-minimum-and-maximum-value-in-a-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/find-the-minimum-and-maximum-value-in-a-binary-search-tree" }, "id": "587d8256367417b2b2512c7a", "title": "Find the Minimum and Maximum Value in a Binary Search Tree" @@ -11151,8 +10222,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/implement-heap-sort-with-a-min-heap", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/implement-heap-sort-with-a-min-heap" }, "id": "587d825b367417b2b2512c8c", "title": "Implement Heap Sort with a Min Heap" @@ -11163,8 +10233,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/incidence-matrix", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/incidence-matrix" }, "id": "587d8256367417b2b2512c79", "title": "Incidence Matrix" @@ -11175,8 +10244,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/insert-an-element-into-a-max-heap", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/insert-an-element-into-a-max-heap" }, "id": "587d825a367417b2b2512c8a", "title": "Insert an Element into a Max Heap" @@ -11187,8 +10255,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/invert-a-binary-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/invert-a-binary-tree" }, "id": "587d8259367417b2b2512c83", "title": "Invert a Binary Tree" @@ -11199,8 +10266,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/learn-how-a-stack-works", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/learn-how-a-stack-works" }, "id": "587d8250367417b2b2512c5e", "title": "Learn how a Stack Works" @@ -11211,8 +10277,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/perform-a-difference-on-two-sets-of-data", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/perform-a-difference-on-two-sets-of-data" }, "id": "587d8254367417b2b2512c6e", "title": "Perform a Difference on Two Sets of Data" @@ -11223,8 +10288,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data" }, "id": "587d8254367417b2b2512c6f", "title": "Perform a Subset Check on Two Sets of Data" @@ -11235,8 +10299,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/perform-a-union-on-two-sets", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/perform-a-union-on-two-sets" }, "id": "587d8253367417b2b2512c6c", "title": "Perform a Union on Two Sets" @@ -11247,8 +10310,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/perform-an-intersection-on-two-sets-of-data", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/perform-an-intersection-on-two-sets-of-data" }, "id": "587d8253367417b2b2512c6d", "title": "Perform an Intersection on Two Sets of Data" @@ -11259,8 +10321,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/remove-an-element-from-a-max-heap", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/remove-an-element-from-a-max-heap" }, "id": "587d825b367417b2b2512c8b", "title": "Remove an Element from a Max Heap" @@ -11271,8 +10332,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/remove-elements-from-a-linked-list-by-index", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/remove-elements-from-a-linked-list-by-index" }, "id": "587d8251367417b2b2512c65", "title": "Remove Elements from a Linked List by Index" @@ -11283,8 +10343,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/remove-elements-from-a-linked-list", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/remove-elements-from-a-linked-list" }, "id": "587d8251367417b2b2512c63", "title": "Remove Elements from a Linked List" @@ -11295,8 +10354,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/remove-items-from-a-set-in-es6", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/remove-items-from-a-set-in-es6" }, "id": "587d8254367417b2b2512c71", "title": "Remove items from a set in ES6" @@ -11307,8 +10365,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/reverse-a-doubly-linked-list", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/reverse-a-doubly-linked-list" }, "id": "587d825a367417b2b2512c88", "title": "Reverse a Doubly Linked List" @@ -11319,8 +10376,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/search-within-a-linked-list", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/search-within-a-linked-list" }, "id": "587d8251367417b2b2512c64", "title": "Search within a Linked List" @@ -11331,8 +10387,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/typed-arrays", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/typed-arrays" }, "id": "587d8253367417b2b2512c6a", "title": "Typed Arrays" @@ -11343,8 +10398,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/use--has-and--size-on-an-es6-set", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/use--has-and--size-on-an-es6-set" }, "id": "587d8255367417b2b2512c72", "title": "Use .has and .size on an ES6 Set" @@ -11355,8 +10409,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/use-breadth-first-search-in-a-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/use-breadth-first-search-in-a-binary-search-tree" }, "id": "587d8258367417b2b2512c7f", "title": "Use Breadth First Search in a Binary Search Tree" @@ -11367,8 +10420,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/use-depth-first-search-in-a-binary-search-tree", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/use-depth-first-search-in-a-binary-search-tree" }, "id": "587d8257367417b2b2512c7e", "title": "Use Depth First Search in a Binary Search Tree" @@ -11379,8 +10431,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/use-spread-and-notes-for-es5-set-integration", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/use-spread-and-notes-for-es5-set-integration" }, "id": "587d8255367417b2b2512c73", "title": "Use Spread and Notes for ES5 Set() Integration" @@ -11391,8 +10442,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/data-structures/work-with-nodes-in-a-linked-list", - "blockName": "Data Structures" + "slug": "/learn/coding-interview-prep/data-structures/work-with-nodes-in-a-linked-list" }, "id": "587d8251367417b2b2512c61", "title": "Work with Nodes in a Linked List" @@ -11403,8 +10453,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-1-multiples-of-3-and-5", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-1-multiples-of-3-and-5" }, "id": "5900f36e1000cf542c50fe80", "title": "Problem 1: Multiples of 3 and 5" @@ -11415,8 +10464,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-10-summation-of-primes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-10-summation-of-primes" }, "id": "5900f3761000cf542c50fe89", "title": "Problem 10: Summation of primes" @@ -11427,8 +10475,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-100-arranged-probability", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-100-arranged-probability" }, "id": "5900f3d01000cf542c50fee3", "title": "Problem 100: Arranged probability" @@ -11439,8 +10486,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-101-optimum-polynomial", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-101-optimum-polynomial" }, "id": "5900f3d21000cf542c50fee4", "title": "Problem 101: Optimum polynomial" @@ -11451,8 +10497,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-102-triangle-containment", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-102-triangle-containment" }, "id": "5900f3d21000cf542c50fee5", "title": "Problem 102: Triangle containment" @@ -11463,8 +10508,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-103-special-subset-sums-optimum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-103-special-subset-sums-optimum" }, "id": "5900f3d61000cf542c50fee7", "title": "Problem 103: Special subset sums: optimum" @@ -11475,8 +10519,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-104-pandigital-fibonacci-ends", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-104-pandigital-fibonacci-ends" }, "id": "5900f3d51000cf542c50fee6", "title": "Problem 104: Pandigital Fibonacci ends" @@ -11487,8 +10530,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-105-special-subset-sums-testing", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-105-special-subset-sums-testing" }, "id": "5900f3d61000cf542c50fee8", "title": "Problem 105: Special subset sums: testing" @@ -11499,8 +10541,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-106-special-subset-sums-meta-testing", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-106-special-subset-sums-meta-testing" }, "id": "5900f3d71000cf542c50fee9", "title": "Problem 106: Special subset sums: meta-testing" @@ -11511,8 +10552,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-107-minimal-network", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-107-minimal-network" }, "id": "5900f3d91000cf542c50feea", "title": "Problem 107: Minimal network" @@ -11523,8 +10563,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-108-diophantine-reciprocals-i", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-108-diophantine-reciprocals-i" }, "id": "5900f3d91000cf542c50feeb", "title": "Problem 108: Diophantine Reciprocals I" @@ -11535,8 +10574,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-109-darts", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-109-darts" }, "id": "5900f3db1000cf542c50feec", "title": "Problem 109: Darts" @@ -11547,8 +10585,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-11-largest-product-in-a-grid", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-11-largest-product-in-a-grid" }, "id": "5900f3781000cf542c50fe8a", "title": "Problem 11: Largest product in a grid" @@ -11559,8 +10596,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-110-diophantine-reciprocals-ii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-110-diophantine-reciprocals-ii" }, "id": "5900f3db1000cf542c50feed", "title": "Problem 110: Diophantine Reciprocals II" @@ -11571,8 +10607,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-111-primes-with-runs", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-111-primes-with-runs" }, "id": "5900f3db1000cf542c50feee", "title": "Problem 111: Primes with runs" @@ -11583,8 +10618,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-112-bouncy-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-112-bouncy-numbers" }, "id": "5900f3dd1000cf542c50feef", "title": "Problem 112: Bouncy numbers" @@ -11595,8 +10629,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-113-non-bouncy-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-113-non-bouncy-numbers" }, "id": "5900f3dd1000cf542c50fef0", "title": "Problem 113: Non-bouncy numbers" @@ -11607,8 +10640,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-114-counting-block-combinations-i", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-114-counting-block-combinations-i" }, "id": "5900f3e01000cf542c50fef2", "title": "Problem 114: Counting block combinations I" @@ -11619,8 +10651,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-115-counting-block-combinations-ii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-115-counting-block-combinations-ii" }, "id": "5900f3df1000cf542c50fef1", "title": "Problem 115: Counting block combinations II" @@ -11631,8 +10662,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-116-red-green-or-blue-tiles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-116-red-green-or-blue-tiles" }, "id": "5900f3e01000cf542c50fef3", "title": "Problem 116: Red, green or blue tiles" @@ -11643,8 +10673,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-117-red-green-and-blue-tiles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-117-red-green-and-blue-tiles" }, "id": "5900f3e21000cf542c50fef4", "title": "Problem 117: Red, green, and blue tiles" @@ -11655,8 +10684,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-118-pandigital-prime-sets", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-118-pandigital-prime-sets" }, "id": "5900f3e21000cf542c50fef5", "title": "Problem 118: Pandigital prime sets" @@ -11667,8 +10695,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-119-digit-power-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-119-digit-power-sum" }, "id": "5900f3e41000cf542c50fef6", "title": "Problem 119: Digit power sum" @@ -11679,8 +10706,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-12-highly-divisible-triangular-number", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-12-highly-divisible-triangular-number" }, "id": "5900f3781000cf542c50fe8b", "title": "Problem 12: Highly divisible triangular number" @@ -11691,8 +10717,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-120-square-remainders", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-120-square-remainders" }, "id": "5900f3e41000cf542c50fef7", "title": "Problem 120: Square remainders" @@ -11703,8 +10728,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-121-disc-game-prize-fund", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-121-disc-game-prize-fund" }, "id": "5900f3e51000cf542c50fef8", "title": "Problem 121: Disc game prize fund" @@ -11715,8 +10739,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-122-efficient-exponentiation", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-122-efficient-exponentiation" }, "id": "5900f3e61000cf542c50fef9", "title": "Problem 122: Efficient exponentiation" @@ -11727,8 +10750,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-123-prime-square-remainders", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-123-prime-square-remainders" }, "id": "5900f3e71000cf542c50fefa", "title": "Problem 123: Prime square remainders" @@ -11739,8 +10761,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-124-ordered-radicals", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-124-ordered-radicals" }, "id": "5900f3e81000cf542c50fefb", "title": "Problem 124: Ordered radicals" @@ -11751,8 +10772,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-125-palindromic-sums", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-125-palindromic-sums" }, "id": "5900f3e91000cf542c50fefc", "title": "Problem 125: Palindromic sums" @@ -11763,8 +10783,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-126-cuboid-layers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-126-cuboid-layers" }, "id": "5900f3ea1000cf542c50fefd", "title": "Problem 126: Cuboid layers" @@ -11775,8 +10794,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-127-abc-hits", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-127-abc-hits" }, "id": "5900f3ec1000cf542c50fefe", "title": "Problem 127: abc-hits" @@ -11787,8 +10805,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-128-hexagonal-tile-differences", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-128-hexagonal-tile-differences" }, "id": "5900f3ec1000cf542c50feff", "title": "Problem 128: Hexagonal tile differences" @@ -11799,8 +10816,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-129-repunit-divisibility", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-129-repunit-divisibility" }, "id": "5900f3ef1000cf542c50ff01", "title": "Problem 129: Repunit divisibility" @@ -11811,8 +10827,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-13-large-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-13-large-sum" }, "id": "5900f37a1000cf542c50fe8c", "title": "Problem 13: Large sum" @@ -11823,8 +10838,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-130-composites-with-prime-repunit-property", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-130-composites-with-prime-repunit-property" }, "id": "5900f3ee1000cf542c50ff00", "title": "Problem 130: Composites with prime repunit property" @@ -11835,8 +10849,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-131-prime-cube-partnership", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-131-prime-cube-partnership" }, "id": "5900f3ef1000cf542c50ff02", "title": "Problem 131: Prime cube partnership" @@ -11847,8 +10860,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-132-large-repunit-factors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-132-large-repunit-factors" }, "id": "5900f3f11000cf542c50ff03", "title": "Problem 132: Large repunit factors" @@ -11859,8 +10871,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-133-repunit-nonfactors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-133-repunit-nonfactors" }, "id": "5900f3f21000cf542c50ff04", "title": "Problem 133: Repunit nonfactors" @@ -11871,8 +10882,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-134-prime-pair-connection", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-134-prime-pair-connection" }, "id": "5900f3f21000cf542c50ff05", "title": "Problem 134: Prime pair connection" @@ -11883,8 +10893,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-135-same-differences", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-135-same-differences" }, "id": "5900f3f31000cf542c50ff06", "title": "Problem 135: Same differences" @@ -11895,8 +10904,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-136-singleton-difference", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-136-singleton-difference" }, "id": "5900f3f51000cf542c50ff07", "title": "Problem 136: Singleton difference" @@ -11907,8 +10915,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-137-fibonacci-golden-nuggets", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-137-fibonacci-golden-nuggets" }, "id": "5900f3f51000cf542c50ff08", "title": "Problem 137: Fibonacci golden nuggets" @@ -11919,8 +10926,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-138-special-isosceles-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-138-special-isosceles-triangles" }, "id": "5900f3f61000cf542c50ff09", "title": "Problem 138: Special isosceles triangles" @@ -11931,8 +10937,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-139-pythagorean-tiles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-139-pythagorean-tiles" }, "id": "5900f3f71000cf542c50ff0a", "title": "Problem 139: Pythagorean tiles" @@ -11943,8 +10948,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-14-longest-collatz-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-14-longest-collatz-sequence" }, "id": "5900f37a1000cf542c50fe8d", "title": "Problem 14: Longest Collatz sequence" @@ -11955,8 +10959,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-140-modified-fibonacci-golden-nuggets", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-140-modified-fibonacci-golden-nuggets" }, "id": "5900f3fa1000cf542c50ff0c", "title": "Problem 140: Modified Fibonacci golden nuggets" @@ -11967,8 +10970,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-141-investigating-progressive-numbers-n-which-are-also-square", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-141-investigating-progressive-numbers-n-which-are-also-square" }, "id": "5900f3f91000cf542c50ff0b", "title": "Problem 141: Investigating progressive numbers, n, which are also square" @@ -11979,8 +10981,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-142-perfect-square-collection", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-142-perfect-square-collection" }, "id": "5900f3fa1000cf542c50ff0d", "title": "Problem 142: Perfect Square Collection" @@ -11991,8 +10992,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-143-investigating-the-torricelli-point-of-a-triangle", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-143-investigating-the-torricelli-point-of-a-triangle" }, "id": "5900f3fc1000cf542c50ff0e", "title": "Problem 143: Investigating the Torricelli point of a triangle" @@ -12003,8 +11003,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-144-investigating-multiple-reflections-of-a-laser-beam", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-144-investigating-multiple-reflections-of-a-laser-beam" }, "id": "5900f3fc1000cf542c50ff0f", "title": "Problem 144: Investigating multiple reflections of a laser beam" @@ -12015,8 +11014,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-145-how-many-reversible-numbers-are-there-below-one-billion", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-145-how-many-reversible-numbers-are-there-below-one-billion" }, "id": "5900f3fd1000cf542c50ff10", "title": "Problem 145: How many reversible numbers are there below one-billion?" @@ -12027,8 +11025,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-146-investigating-a-prime-pattern", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-146-investigating-a-prime-pattern" }, "id": "5900f3fe1000cf542c50ff11", "title": "Problem 146: Investigating a Prime Pattern" @@ -12039,8 +11036,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-147-rectangles-in-cross-hatched-grids", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-147-rectangles-in-cross-hatched-grids" }, "id": "5900f3ff1000cf542c50ff12", "title": "Problem 147: Rectangles in cross-hatched grids" @@ -12051,8 +11047,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-148-exploring-pascals-triangle", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-148-exploring-pascals-triangle" }, "id": "5900f4021000cf542c50ff14", "title": "Problem 148: Exploring Pascal's triangle" @@ -12063,8 +11058,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-149-searching-for-a-maximum-sum-subsequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-149-searching-for-a-maximum-sum-subsequence" }, "id": "5900f4021000cf542c50ff13", "title": "Problem 149: Searching for a maximum-sum subsequence" @@ -12075,8 +11069,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-15-lattice-paths", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-15-lattice-paths" }, "id": "5900f37b1000cf542c50fe8e", "title": "Problem 15: Lattice paths" @@ -12087,8 +11080,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-150-searching-a-triangular-array-for-a-sub-triangle-having-minimum-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-150-searching-a-triangular-array-for-a-sub-triangle-having-minimum-sum" }, "id": "5900f4031000cf542c50ff15", "title": "Problem 150: Searching a triangular array for a sub-triangle having minimum-sum" @@ -12099,8 +11091,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-151-paper-sheets-of-standard-sizes-an-expected-value-problem", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-151-paper-sheets-of-standard-sizes-an-expected-value-problem" }, "id": "5900f4031000cf542c50ff16", "title": "Problem 151: Paper sheets of standard sizes: an expected-value problem" @@ -12111,8 +11102,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-152-writing-one-half-as-a-sum-of-inverse-squares", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-152-writing-one-half-as-a-sum-of-inverse-squares" }, "id": "5900f4041000cf542c50ff17", "title": "Problem 152: Writing one half as a sum of inverse squares" @@ -12123,8 +11113,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-153-investigating-gaussian-integers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-153-investigating-gaussian-integers" }, "id": "5900f4051000cf542c50ff18", "title": "Problem 153: Investigating Gaussian Integers" @@ -12135,8 +11124,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-154-exploring-pascals-pyramid", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-154-exploring-pascals-pyramid" }, "id": "5900f4071000cf542c50ff19", "title": "Problem 154: Exploring Pascal's pyramid" @@ -12147,8 +11135,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-155-counting-capacitor-circuits", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-155-counting-capacitor-circuits" }, "id": "5900f4081000cf542c50ff1a", "title": "Problem 155: Counting Capacitor Circuits" @@ -12159,8 +11146,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-156-counting-digits", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-156-counting-digits" }, "id": "5900f4091000cf542c50ff1b", "title": "Problem 156: Counting Digits" @@ -12171,8 +11157,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-157-solving-the-diophantine-equation", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-157-solving-the-diophantine-equation" }, "id": "5900f4091000cf542c50ff1c", "title": "Problem 157: Solving the diophantine equation" @@ -12183,8 +11168,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-158-exploring-strings-for-which-only-one-character-comes-lexicographically-after-its-neighbour-to-the-left", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-158-exploring-strings-for-which-only-one-character-comes-lexicographically-after-its-neighbour-to-the-left" }, "id": "5900f40a1000cf542c50ff1d", "title": "Problem 158: Exploring strings for which only one character comes lexicographically after its neighbour to the left" @@ -12195,8 +11179,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-159-digital-root-sums-of-factorisations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-159-digital-root-sums-of-factorisations" }, "id": "5900f40c1000cf542c50ff1e", "title": "Problem 159: Digital root sums of factorisations" @@ -12207,8 +11190,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-16-power-digit-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-16-power-digit-sum" }, "id": "5900f37d1000cf542c50fe8f", "title": "Problem 16: Power digit sum" @@ -12219,8 +11201,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-160-factorial-trailing-digits", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-160-factorial-trailing-digits" }, "id": "5900f40d1000cf542c50ff1f", "title": "Problem 160: Factorial trailing digits" @@ -12231,8 +11212,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-161-triominoes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-161-triominoes" }, "id": "5900f40d1000cf542c50ff20", "title": "Problem 161: Triominoes" @@ -12243,8 +11223,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-162-hexadecimal-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-162-hexadecimal-numbers" }, "id": "5900f40e1000cf542c50ff21", "title": "Problem 162: Hexadecimal numbers" @@ -12255,8 +11234,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-163-cross-hatched-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-163-cross-hatched-triangles" }, "id": "5900f40f1000cf542c50ff22", "title": "Problem 163: Cross-hatched triangles" @@ -12267,8 +11245,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-164-numbers-for-which-no-three-consecutive-digits-have-a-sum-greater-than-a-given-value", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-164-numbers-for-which-no-three-consecutive-digits-have-a-sum-greater-than-a-given-value" }, "id": "5900f4111000cf542c50ff23", "title": "Problem 164: Numbers for which no three consecutive digits have a sum greater than a given value" @@ -12279,8 +11256,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-165-intersections", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-165-intersections" }, "id": "5900f4111000cf542c50ff24", "title": "Problem 165: Intersections" @@ -12291,8 +11267,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-166-criss-cross", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-166-criss-cross" }, "id": "5900f4131000cf542c50ff25", "title": "Problem 166: Criss Cross" @@ -12303,8 +11278,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-167-investigating-ulam-sequences", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-167-investigating-ulam-sequences" }, "id": "5900f4141000cf542c50ff26", "title": "Problem 167: Investigating Ulam sequences" @@ -12315,8 +11289,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-168-number-rotations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-168-number-rotations" }, "id": "5900f4151000cf542c50ff27", "title": "Problem 168: Number Rotations" @@ -12327,8 +11300,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-169-exploring-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-169-exploring-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2" }, "id": "5900f4151000cf542c50ff28", "title": "Problem 169: Exploring the number of different ways a number can be expressed as a sum of powers of 2" @@ -12339,8 +11311,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-17-number-letter-counts", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-17-number-letter-counts" }, "id": "5900f37d1000cf542c50fe90", "title": "Problem 17: Number letter counts" @@ -12351,8 +11322,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-170-find-the-largest-0-to-9-pandigital-that-can-be-formed-by-concatenating-products", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-170-find-the-largest-0-to-9-pandigital-that-can-be-formed-by-concatenating-products" }, "id": "5900f4161000cf542c50ff29", "title": "Problem 170: Find the largest 0 to 9 pandigital that can be formed by concatenating products" @@ -12363,8 +11333,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-171-finding-numbers-for-which-the-sum-of-the-squares-of-the-digits-is-a-square", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-171-finding-numbers-for-which-the-sum-of-the-squares-of-the-digits-is-a-square" }, "id": "5900f4181000cf542c50ff2a", "title": "Problem 171: Finding numbers for which the sum of the squares of the digits is a square" @@ -12375,8 +11344,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-172-investigating-numbers-with-few-repeated-digits", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-172-investigating-numbers-with-few-repeated-digits" }, "id": "5900f4181000cf542c50ff2b", "title": "Problem 172: Investigating numbers with few repeated digits" @@ -12387,8 +11355,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed" }, "id": "5900f41a1000cf542c50ff2c", "title": "Problem 173: Using up to one million tiles how many different \"hollow\" square laminae can be formed?" @@ -12399,8 +11366,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-174-counting-the-number-of-hollow-square-laminae-that-can-form-one-two-three-----distinct-arrangements", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-174-counting-the-number-of-hollow-square-laminae-that-can-form-one-two-three-----distinct-arrangements" }, "id": "5900f41a1000cf542c50ff2d", "title": "Problem 174: Counting the number of \"hollow\" square laminae that can form one, two, three, ... distinct arrangements" @@ -12411,8 +11377,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-175-fractions-involving-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-175-fractions-involving-the-number-of-different-ways-a-number-can-be-expressed-as-a-sum-of-powers-of-2" }, "id": "5900f41c1000cf542c50ff2e", "title": "Problem 175: Fractions involving the number of different ways a number can be expressed as a sum of powers of 2" @@ -12423,8 +11388,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-176-right-angled-triangles-that-share-a-cathetus", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-176-right-angled-triangles-that-share-a-cathetus" }, "id": "5900f41c1000cf542c50ff2f", "title": "Problem 176: Right-angled triangles that share a cathetus" @@ -12435,8 +11399,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-177-integer-angled-quadrilaterals", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-177-integer-angled-quadrilaterals" }, "id": "5900f41e1000cf542c50ff30", "title": "Problem 177: Integer angled Quadrilaterals" @@ -12447,8 +11410,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-178-step-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-178-step-numbers" }, "id": "5900f41e1000cf542c50ff31", "title": "Problem 178: Step Numbers" @@ -12459,8 +11421,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-179-consecutive-positive-divisors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-179-consecutive-positive-divisors" }, "id": "5900f41f1000cf542c50ff32", "title": "Problem 179: Consecutive positive divisors" @@ -12471,8 +11432,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-18-maximum-path-sum-i", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-18-maximum-path-sum-i" }, "id": "5900f37e1000cf542c50fe91", "title": "Problem 18: Maximum path sum I" @@ -12483,8 +11443,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-180-rational-zeros-of-a-function-of-three-variables", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-180-rational-zeros-of-a-function-of-three-variables" }, "id": "5900f4201000cf542c50ff33", "title": "Problem 180: Rational zeros of a function of three variables" @@ -12495,8 +11454,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-181-investigating-in-how-many-ways-objects-of-two-different-colours-can-be-grouped", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-181-investigating-in-how-many-ways-objects-of-two-different-colours-can-be-grouped" }, "id": "5900f4231000cf542c50ff34", "title": "Problem 181: Investigating in how many ways objects of two different colours can be grouped" @@ -12507,8 +11465,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-182-rsa-encryption", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-182-rsa-encryption" }, "id": "5900f4231000cf542c50ff35", "title": "Problem 182: RSA encryption" @@ -12519,8 +11476,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-183-maximum-product-of-parts", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-183-maximum-product-of-parts" }, "id": "5900f4231000cf542c50ff36", "title": "Problem 183: Maximum product of parts" @@ -12531,8 +11487,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-184-triangles-containing-the-origin", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-184-triangles-containing-the-origin" }, "id": "5900f4241000cf542c50ff37", "title": "Problem 184: Triangles containing the origin" @@ -12543,8 +11498,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-185-number-mind", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-185-number-mind" }, "id": "5900f4251000cf542c50ff38", "title": "Problem 185: Number Mind" @@ -12555,8 +11509,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-186-connectedness-of-a-network", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-186-connectedness-of-a-network" }, "id": "5900f4281000cf542c50ff39", "title": "Problem 186: Connectedness of a network" @@ -12567,8 +11520,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-187-semiprimes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-187-semiprimes" }, "id": "5900f4291000cf542c50ff3a", "title": "Problem 187: Semiprimes" @@ -12579,8 +11531,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-188-the-hyperexponentiation-of-a-number", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-188-the-hyperexponentiation-of-a-number" }, "id": "5900f4291000cf542c50ff3b", "title": "Problem 188: The hyperexponentiation of a number" @@ -12591,8 +11542,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-189-tri-colouring-a-triangular-grid", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-189-tri-colouring-a-triangular-grid" }, "id": "5900f4291000cf542c50ff3c", "title": "Problem 189: Tri-colouring a triangular grid" @@ -12603,8 +11553,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-19-counting-sundays", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-19-counting-sundays" }, "id": "5900f37f1000cf542c50fe92", "title": "Problem 19: Counting Sundays" @@ -12615,8 +11564,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-190-maximising-a-weighted-product", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-190-maximising-a-weighted-product" }, "id": "5900f42b1000cf542c50ff3d", "title": "Problem 190: Maximising a weighted product" @@ -12627,8 +11575,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-191-prize-strings", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-191-prize-strings" }, "id": "5900f42b1000cf542c50ff3e", "title": "Problem 191: Prize Strings" @@ -12639,8 +11586,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-192-best-approximations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-192-best-approximations" }, "id": "5900f42c1000cf542c50ff3f", "title": "Problem 192: Best Approximations" @@ -12651,8 +11597,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-193-squarefree-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-193-squarefree-numbers" }, "id": "5900f42f1000cf542c50ff41", "title": "Problem 193: Squarefree Numbers" @@ -12663,8 +11608,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-194-coloured-configurations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-194-coloured-configurations" }, "id": "5900f42f1000cf542c50ff40", "title": "Problem 194: Coloured Configurations" @@ -12675,8 +11619,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-195-inscribed-circles-of-triangles-with-one-angle-of-60-degrees", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-195-inscribed-circles-of-triangles-with-one-angle-of-60-degrees" }, "id": "5900f4311000cf542c50ff43", "title": "Problem 195: Inscribed circles of triangles with one angle of 60 degrees" @@ -12687,8 +11630,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-196-prime-triplets", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-196-prime-triplets" }, "id": "5900f4301000cf542c50ff42", "title": "Problem 196: Prime triplets" @@ -12699,8 +11641,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-197-investigating-the-behaviour-of-a-recursively-defined-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-197-investigating-the-behaviour-of-a-recursively-defined-sequence" }, "id": "5900f4311000cf542c50ff44", "title": "Problem 197: Investigating the behaviour of a recursively defined sequence" @@ -12711,8 +11652,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-198-ambiguous-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-198-ambiguous-numbers" }, "id": "5900f4331000cf542c50ff45", "title": "Problem 198: Ambiguous Numbers" @@ -12723,8 +11663,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-199-iterative-circle-packing", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-199-iterative-circle-packing" }, "id": "5900f4341000cf542c50ff46", "title": "Problem 199: Iterative Circle Packing" @@ -12735,8 +11674,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-2-even-fibonacci-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-2-even-fibonacci-numbers" }, "id": "5900f36e1000cf542c50fe81", "title": "Problem 2: Even Fibonacci Numbers" @@ -12747,8 +11685,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-20-factorial-digit-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-20-factorial-digit-sum" }, "id": "5900f3801000cf542c50fe93", "title": "Problem 20: Factorial digit sum" @@ -12759,8 +11696,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-200-find-the-200th-prime-proof-sqube-containing-the-contiguous-sub-string-200", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-200-find-the-200th-prime-proof-sqube-containing-the-contiguous-sub-string-200" }, "id": "5900f4351000cf542c50ff47", "title": "Problem 200: Find the 200th prime-proof sqube containing the contiguous sub-string \"200\"" @@ -12771,8 +11707,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-201-subsets-with-a-unique-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-201-subsets-with-a-unique-sum" }, "id": "5900f4361000cf542c50ff48", "title": "Problem 201: Subsets with a unique sum" @@ -12783,8 +11718,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-202-laserbeam", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-202-laserbeam" }, "id": "5900f4371000cf542c50ff49", "title": "Problem 202: Laserbeam" @@ -12795,8 +11729,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-203-squarefree-binomial-coefficients", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-203-squarefree-binomial-coefficients" }, "id": "5900f4381000cf542c50ff4a", "title": "Problem 203: Squarefree Binomial Coefficients" @@ -12807,8 +11740,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-204-generalised-hamming-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-204-generalised-hamming-numbers" }, "id": "5900f4381000cf542c50ff4b", "title": "Problem 204: Generalised Hamming Numbers" @@ -12819,8 +11751,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-205-dice-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-205-dice-game" }, "id": "5900f4391000cf542c50ff4c", "title": "Problem 205: Dice Game" @@ -12831,8 +11762,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-206-concealed-square", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-206-concealed-square" }, "id": "5900f43a1000cf542c50ff4d", "title": "Problem 206: Concealed Square" @@ -12843,8 +11773,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-207-integer-partition-equations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-207-integer-partition-equations" }, "id": "5900f43c1000cf542c50ff4e", "title": "Problem 207: Integer partition equations" @@ -12855,8 +11784,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-208-robot-walks", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-208-robot-walks" }, "id": "5900f43f1000cf542c50ff51", "title": "Problem 208: Robot Walks" @@ -12867,8 +11795,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-209-circular-logic", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-209-circular-logic" }, "id": "5900f43e1000cf542c50ff4f", "title": "Problem 209: Circular Logic" @@ -12879,8 +11806,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-21-amicable-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-21-amicable-numbers" }, "id": "5900f3811000cf542c50fe94", "title": "Problem 21: Amicable numbers" @@ -12891,8 +11817,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-210-obtuse-angled-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-210-obtuse-angled-triangles" }, "id": "5900f43e1000cf542c50ff50", "title": "Problem 210: Obtuse Angled Triangles" @@ -12903,8 +11828,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-211-divisor-square-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-211-divisor-square-sum" }, "id": "5900f43f1000cf542c50ff52", "title": "Problem 211: Divisor Square Sum" @@ -12915,8 +11839,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-212-combined-volume-of-cuboids", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-212-combined-volume-of-cuboids" }, "id": "5900f4411000cf542c50ff53", "title": "Problem 212: Combined Volume of Cuboids" @@ -12927,8 +11850,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-213-flea-circus", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-213-flea-circus" }, "id": "5900f4411000cf542c50ff54", "title": "Problem 213: Flea Circus" @@ -12939,8 +11861,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-214-totient-chains", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-214-totient-chains" }, "id": "5900f4421000cf542c50ff55", "title": "Problem 214: Totient Chains" @@ -12951,8 +11872,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-215-crack-free-walls", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-215-crack-free-walls" }, "id": "5900f4431000cf542c50ff56", "title": "Problem 215: Crack-free Walls" @@ -12963,8 +11883,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-216-investigating-the-primality-of-numbers-of-the-form-2n2-1", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-216-investigating-the-primality-of-numbers-of-the-form-2n2-1" }, "id": "5900f4451000cf542c50ff57", "title": "Problem 216: Investigating the primality of numbers of the form 2n2-1" @@ -12975,8 +11894,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-217-balanced-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-217-balanced-numbers" }, "id": "5900f4461000cf542c50ff58", "title": "Problem 217: Balanced Numbers" @@ -12987,8 +11905,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-218-perfect-right-angled-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-218-perfect-right-angled-triangles" }, "id": "5900f4461000cf542c50ff59", "title": "Problem 218: Perfect right-angled triangles" @@ -12999,8 +11916,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-219-skew-cost-coding", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-219-skew-cost-coding" }, "id": "5900f4481000cf542c50ff5a", "title": "Problem 219: Skew-cost coding" @@ -13011,8 +11927,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-22-names-scores", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-22-names-scores" }, "id": "5a51eabcad78bf416f316e2a", "title": "Problem 22: Names scores" @@ -13023,8 +11938,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-220-heighway-dragon", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-220-heighway-dragon" }, "id": "5900f4481000cf542c50ff5b", "title": "Problem 220: Heighway Dragon" @@ -13035,8 +11949,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-221-alexandrian-integers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-221-alexandrian-integers" }, "id": "5900f4491000cf542c50ff5c", "title": "Problem 221: Alexandrian Integers" @@ -13047,8 +11960,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-222-sphere-packing", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-222-sphere-packing" }, "id": "5900f44b1000cf542c50ff5d", "title": "Problem 222: Sphere Packing" @@ -13059,8 +11971,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-223-almost-right-angled-triangles-i", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-223-almost-right-angled-triangles-i" }, "id": "5900f44b1000cf542c50ff5e", "title": "Problem 223: Almost right-angled triangles I" @@ -13071,8 +11982,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-224-almost-right-angled-triangles-ii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-224-almost-right-angled-triangles-ii" }, "id": "5900f44e1000cf542c50ff5f", "title": "Problem 224: Almost right-angled triangles II" @@ -13083,8 +11993,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-225-tribonacci-non-divisors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-225-tribonacci-non-divisors" }, "id": "5900f44e1000cf542c50ff60", "title": "Problem 225: Tribonacci non-divisors" @@ -13095,8 +12004,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-226-a-scoop-of-blancmange", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-226-a-scoop-of-blancmange" }, "id": "5900f4511000cf542c50ff62", "title": "Problem 226: A Scoop of Blancmange" @@ -13107,8 +12015,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-227-the-chase", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-227-the-chase" }, "id": "5900f44f1000cf542c50ff61", "title": "Problem 227: The Chase" @@ -13119,8 +12026,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-228-minkowski-sums", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-228-minkowski-sums" }, "id": "5900f4511000cf542c50ff63", "title": "Problem 228: Minkowski Sums" @@ -13131,8 +12037,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-229-four-representations-using-squares", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-229-four-representations-using-squares" }, "id": "5900f4521000cf542c50ff64", "title": "Problem 229: Four Representations using Squares" @@ -13143,8 +12048,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-23-non-abundant-sums", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-23-non-abundant-sums" }, "id": "5900f3831000cf542c50fe96", "title": "Problem 23: Non-abundant sums" @@ -13155,8 +12059,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-230-fibonacci-words", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-230-fibonacci-words" }, "id": "5900f4531000cf542c50ff65", "title": "Problem 230: Fibonacci Words" @@ -13167,8 +12070,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-231-the-prime-factorisation-of-binomial-coefficients", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-231-the-prime-factorisation-of-binomial-coefficients" }, "id": "5900f4531000cf542c50ff66", "title": "Problem 231: The prime factorisation of binomial coefficients" @@ -13179,8 +12081,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-232-the-race", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-232-the-race" }, "id": "5900f4551000cf542c50ff67", "title": "Problem 232: The Race" @@ -13191,8 +12092,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-233-lattice-points-on-a-circle", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-233-lattice-points-on-a-circle" }, "id": "5900f4551000cf542c50ff68", "title": "Problem 233: Lattice points on a circle" @@ -13203,8 +12103,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-234-semidivisible-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-234-semidivisible-numbers" }, "id": "5900f4571000cf542c50ff69", "title": "Problem 234: Semidivisible numbers" @@ -13215,8 +12114,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-235-an-arithmetic-geometric-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-235-an-arithmetic-geometric-sequence" }, "id": "5900f4571000cf542c50ff6a", "title": "Problem 235: An Arithmetic Geometric sequence" @@ -13227,8 +12125,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-236-luxury-hampers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-236-luxury-hampers" }, "id": "5900f4591000cf542c50ff6b", "title": "Problem 236: Luxury Hampers" @@ -13239,8 +12136,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-237-tours-on-a-4-x-n-playing-board", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-237-tours-on-a-4-x-n-playing-board" }, "id": "5900f4591000cf542c50ff6c", "title": "Problem 237: Tours on a 4 x n playing board" @@ -13251,8 +12147,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-238-infinite-string-tour", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-238-infinite-string-tour" }, "id": "5900f45b1000cf542c50ff6d", "title": "Problem 238: Infinite string tour" @@ -13263,8 +12158,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-239-twenty-two-foolish-primes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-239-twenty-two-foolish-primes" }, "id": "5900f45c1000cf542c50ff6e", "title": "Problem 239: Twenty-two Foolish Primes" @@ -13275,8 +12169,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-24-lexicographic-permutations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-24-lexicographic-permutations" }, "id": "5900f3841000cf542c50fe97", "title": "Problem 24: Lexicographic permutations" @@ -13287,8 +12180,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-240-top-dice", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-240-top-dice" }, "id": "5900f45d1000cf542c50ff6f", "title": "Problem 240: Top Dice" @@ -13299,8 +12191,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-241-perfection-quotients", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-241-perfection-quotients" }, "id": "5900f45d1000cf542c50ff70", "title": "Problem 241: Perfection Quotients" @@ -13311,8 +12202,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-242-odd-triplets", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-242-odd-triplets" }, "id": "5900f45f1000cf542c50ff71", "title": "Problem 242: Odd Triplets" @@ -13323,8 +12213,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-243-resilience", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-243-resilience" }, "id": "5900f4601000cf542c50ff73", "title": "Problem 243: Resilience" @@ -13335,8 +12224,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-244-sliders", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-244-sliders" }, "id": "5900f4601000cf542c50ff72", "title": "Problem 244: Sliders" @@ -13347,8 +12235,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-245-coresilience", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-245-coresilience" }, "id": "5900f4621000cf542c50ff74", "title": "Problem 245: Coresilience" @@ -13359,8 +12246,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-246-tangents-to-an-ellipse", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-246-tangents-to-an-ellipse" }, "id": "5900f4621000cf542c50ff75", "title": "Problem 246: Tangents to an ellipse" @@ -13371,8 +12257,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-247-squares-under-a-hyperbola", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-247-squares-under-a-hyperbola" }, "id": "5900f4641000cf542c50ff76", "title": "Problem 247: Squares under a hyperbola" @@ -13383,8 +12268,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-248-numbers-for-which-eulers-totient-function-equals-13", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-248-numbers-for-which-eulers-totient-function-equals-13" }, "id": "5900f4651000cf542c50ff77", "title": "Problem 248: Numbers for which Euler’s totient function equals 13!" @@ -13395,8 +12279,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-249-prime-subset-sums", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-249-prime-subset-sums" }, "id": "5900f4671000cf542c50ff79", "title": "Problem 249: Prime Subset Sums" @@ -13407,8 +12290,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-25-1000-digit-fibonacci-number", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-25-1000-digit-fibonacci-number" }, "id": "5900f3851000cf542c50fe98", "title": "Problem 25: 1000-digit Fibonacci number" @@ -13419,8 +12301,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-250-250250", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-250-250250" }, "id": "5900f4661000cf542c50ff78", "title": "Problem 250: 250250" @@ -13431,8 +12312,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-251-cardano-triplets", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-251-cardano-triplets" }, "id": "5900f4671000cf542c50ff7a", "title": "Problem 251: Cardano Triplets" @@ -13443,8 +12323,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-252-convex-holes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-252-convex-holes" }, "id": "5900f4691000cf542c50ff7b", "title": "Problem 252: Convex Holes" @@ -13455,8 +12334,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-253-tidying-up", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-253-tidying-up" }, "id": "5900f4691000cf542c50ff7c", "title": "Problem 253: Tidying up" @@ -13467,8 +12345,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-254-sums-of-digit-factorials", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-254-sums-of-digit-factorials" }, "id": "5900f46b1000cf542c50ff7d", "title": "Problem 254: Sums of Digit Factorials" @@ -13479,8 +12356,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-255-rounded-square-roots", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-255-rounded-square-roots" }, "id": "5900f46d1000cf542c50ff7f", "title": "Problem 255: Rounded Square Roots" @@ -13491,8 +12367,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-256-tatami-free-rooms", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-256-tatami-free-rooms" }, "id": "5900f46c1000cf542c50ff7e", "title": "Problem 256: Tatami-Free Rooms" @@ -13503,8 +12378,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-257-angular-bisectors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-257-angular-bisectors" }, "id": "5900f46e1000cf542c50ff80", "title": "Problem 257: Angular Bisectors" @@ -13515,8 +12389,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-258-a-lagged-fibonacci-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-258-a-lagged-fibonacci-sequence" }, "id": "5900f46e1000cf542c50ff81", "title": "Problem 258: A lagged Fibonacci sequence" @@ -13527,8 +12400,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-259-reachable-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-259-reachable-numbers" }, "id": "5900f4701000cf542c50ff82", "title": "Problem 259: Reachable Numbers" @@ -13539,8 +12411,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-26-reciprocal-cycles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-26-reciprocal-cycles" }, "id": "5900f3861000cf542c50fe99", "title": "Problem 26: Reciprocal cycles" @@ -13551,8 +12422,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-260-stone-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-260-stone-game" }, "id": "5900f4701000cf542c50ff83", "title": "Problem 260: Stone Game" @@ -13563,8 +12433,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-261-pivotal-square-sums", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-261-pivotal-square-sums" }, "id": "5900f4711000cf542c50ff84", "title": "Problem 261: Pivotal Square Sums" @@ -13575,8 +12444,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-262-mountain-range", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-262-mountain-range" }, "id": "5900f4731000cf542c50ff85", "title": "Problem 262: Mountain Range" @@ -13587,8 +12455,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-263-an-engineers-dream-come-true", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-263-an-engineers-dream-come-true" }, "id": "5900f4741000cf542c50ff86", "title": "Problem 263: An engineers' dream come true" @@ -13599,8 +12466,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-264-triangle-centres", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-264-triangle-centres" }, "id": "5900f4751000cf542c50ff87", "title": "Problem 264: Triangle Centres" @@ -13611,8 +12477,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-265-binary-circles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-265-binary-circles" }, "id": "5900f4761000cf542c50ff88", "title": "Problem 265: Binary Circles" @@ -13623,8 +12488,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-266-pseudo-square-root", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-266-pseudo-square-root" }, "id": "5900f4771000cf542c50ff89", "title": "Problem 266: Pseudo Square Root" @@ -13635,8 +12499,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-267-billionaire", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-267-billionaire" }, "id": "5900f4771000cf542c50ff8a", "title": "Problem 267: Billionaire" @@ -13647,8 +12510,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100" }, "id": "5900f4791000cf542c50ff8b", "title": "Problem 268: Counting numbers with at least four distinct prime factors less than 100" @@ -13659,8 +12521,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-269-polynomials-with-at-least-one-integer-root", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-269-polynomials-with-at-least-one-integer-root" }, "id": "5900f4791000cf542c50ff8c", "title": "Problem 269: Polynomials with at least one integer root" @@ -13671,8 +12532,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-27-quadratic-primes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-27-quadratic-primes" }, "id": "5900f3871000cf542c50fe9a", "title": "Problem 27: Quadratic primes" @@ -13683,8 +12543,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-270-cutting-squares", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-270-cutting-squares" }, "id": "5900f47c1000cf542c50ff8e", "title": "Problem 270: Cutting Squares" @@ -13695,8 +12554,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-271-modular-cubes-part-1", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-271-modular-cubes-part-1" }, "id": "5900f47b1000cf542c50ff8d", "title": "Problem 271: Modular Cubes, part 1" @@ -13707,8 +12565,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-272-modular-cubes-part-2", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-272-modular-cubes-part-2" }, "id": "5900f47d1000cf542c50ff8f", "title": "Problem 272: Modular Cubes, part 2" @@ -13719,8 +12576,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-273-sum-of-squares", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-273-sum-of-squares" }, "id": "5900f47e1000cf542c50ff90", "title": "Problem 273: Sum of Squares" @@ -13731,8 +12587,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-274-divisibility-multipliers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-274-divisibility-multipliers" }, "id": "5900f47f1000cf542c50ff91", "title": "Problem 274: Divisibility Multipliers" @@ -13743,8 +12598,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-275-balanced-sculptures", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-275-balanced-sculptures" }, "id": "5900f4801000cf542c50ff92", "title": "Problem 275: Balanced Sculptures" @@ -13755,8 +12609,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-276-primitive-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-276-primitive-triangles" }, "id": "5900f4801000cf542c50ff93", "title": "Problem 276: Primitive Triangles" @@ -13767,8 +12620,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-277-a-modified-collatz-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-277-a-modified-collatz-sequence" }, "id": "5900f4811000cf542c50ff94", "title": "Problem 277: A Modified Collatz sequence" @@ -13779,8 +12631,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-278-linear-combinations-of-semiprimes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-278-linear-combinations-of-semiprimes" }, "id": "5900f4831000cf542c50ff95", "title": "Problem 278: Linear Combinations of Semiprimes" @@ -13791,8 +12642,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-279-triangles-with-integral-sides-and-an-integral-angle", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-279-triangles-with-integral-sides-and-an-integral-angle" }, "id": "5900f4841000cf542c50ff96", "title": "Problem 279: Triangles with integral sides and an integral angle" @@ -13803,8 +12653,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-28-number-spiral-diagonals", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-28-number-spiral-diagonals" }, "id": "5900f3881000cf542c50fe9b", "title": "Problem 28: Number spiral diagonals" @@ -13815,8 +12664,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-280-ant-and-seeds", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-280-ant-and-seeds" }, "id": "5900f4841000cf542c50ff97", "title": "Problem 280: Ant and seeds" @@ -13827,8 +12675,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-281-pizza-toppings", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-281-pizza-toppings" }, "id": "5900f4861000cf542c50ff98", "title": "Problem 281: Pizza Toppings" @@ -13839,8 +12686,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-282-the-ackermann-function", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-282-the-ackermann-function" }, "id": "5900f4861000cf542c50ff99", "title": "Problem 282: The Ackermann function" @@ -13851,8 +12697,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-283-integer-sided-triangles-for-which-the-area--perimeter-ratio-is-integral", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-283-integer-sided-triangles-for-which-the-area--perimeter-ratio-is-integral" }, "id": "5900f4881000cf542c50ff9a", "title": "Problem 283: Integer sided triangles for which the area / perimeter ratio is integral" @@ -13863,8 +12708,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-284-steady-squares", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-284-steady-squares" }, "id": "5900f4891000cf542c50ff9b", "title": "Problem 284: Steady Squares" @@ -13875,8 +12719,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-285-pythagorean-odds", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-285-pythagorean-odds" }, "id": "5900f48a1000cf542c50ff9c", "title": "Problem 285: Pythagorean odds" @@ -13887,8 +12730,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-286-scoring-probabilities", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-286-scoring-probabilities" }, "id": "5900f48a1000cf542c50ff9d", "title": "Problem 286: Scoring probabilities" @@ -13899,8 +12741,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-287-quadtree-encoding-a-simple-compression-algorithm", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-287-quadtree-encoding-a-simple-compression-algorithm" }, "id": "5900f48b1000cf542c50ff9e", "title": "Problem 287: Quadtree encoding (a simple compression algorithm)" @@ -13911,8 +12752,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-288-an-enormous-factorial", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-288-an-enormous-factorial" }, "id": "5900f48d1000cf542c50ff9f", "title": "Problem 288: An enormous factorial" @@ -13923,8 +12763,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-289-eulerian-cycles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-289-eulerian-cycles" }, "id": "5900f48d1000cf542c50ffa0", "title": "Problem 289: Eulerian Cycles" @@ -13935,8 +12774,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-29-distinct-powers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-29-distinct-powers" }, "id": "5900f3891000cf542c50fe9c", "title": "Problem 29: Distinct powers" @@ -13947,8 +12785,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-290-digital-signature", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-290-digital-signature" }, "id": "5900f48f1000cf542c50ffa1", "title": "Problem 290: Digital Signature" @@ -13959,8 +12796,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-291-panaitopol-primes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-291-panaitopol-primes" }, "id": "5900f48f1000cf542c50ffa2", "title": "Problem 291: Panaitopol Primes" @@ -13971,8 +12807,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-292-pythagorean-polygons", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-292-pythagorean-polygons" }, "id": "5900f4911000cf542c50ffa3", "title": "Problem 292: Pythagorean Polygons" @@ -13983,8 +12818,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-293-pseudo-fortunate-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-293-pseudo-fortunate-numbers" }, "id": "5900f4931000cf542c50ffa4", "title": "Problem 293: Pseudo-Fortunate Numbers" @@ -13995,8 +12829,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-294-sum-of-digits---experience-23", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-294-sum-of-digits---experience-23" }, "id": "5900f4931000cf542c50ffa5", "title": "Problem 294: Sum of digits - experience #23" @@ -14007,8 +12840,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-295-lenticular-holes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-295-lenticular-holes" }, "id": "5900f4931000cf542c50ffa6", "title": "Problem 295: Lenticular holes" @@ -14019,8 +12851,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-296-angular-bisector-and-tangent", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-296-angular-bisector-and-tangent" }, "id": "5900f4941000cf542c50ffa7", "title": "Problem 296: Angular Bisector and Tangent" @@ -14031,8 +12862,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-297-zeckendorf-representation", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-297-zeckendorf-representation" }, "id": "5900f4951000cf542c50ffa8", "title": "Problem 297: Zeckendorf Representation" @@ -14043,8 +12873,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-298-selective-amnesia", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-298-selective-amnesia" }, "id": "5900f4971000cf542c50ffa9", "title": "Problem 298: Selective Amnesia" @@ -14055,8 +12884,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-299-three-similar-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-299-three-similar-triangles" }, "id": "5900f4971000cf542c50ffaa", "title": "Problem 299: Three similar triangles" @@ -14067,8 +12895,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-3-largest-prime-factor", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-3-largest-prime-factor" }, "id": "5900f36f1000cf542c50fe82", "title": "Problem 3: Largest prime factor" @@ -14079,8 +12906,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-30-digit-n-powers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-30-digit-n-powers" }, "id": "5900f38a1000cf542c50fe9d", "title": "Problem 30: Digit n powers" @@ -14091,8 +12917,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-300-protein-folding", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-300-protein-folding" }, "id": "5900f49a1000cf542c50ffac", "title": "Problem 300: Protein folding" @@ -14103,8 +12928,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-301-nim", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-301-nim" }, "id": "5900f4991000cf542c50ffab", "title": "Problem 301: Nim" @@ -14115,8 +12939,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-302-strong-achilles-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-302-strong-achilles-numbers" }, "id": "5900f49b1000cf542c50ffad", "title": "Problem 302: Strong Achilles Numbers" @@ -14127,8 +12950,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-303-multiples-with-small-digits", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-303-multiples-with-small-digits" }, "id": "5900f49b1000cf542c50ffae", "title": "Problem 303: Multiples with small digits" @@ -14139,8 +12961,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-304-primonacci", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-304-primonacci" }, "id": "5900f49d1000cf542c50ffaf", "title": "Problem 304: Primonacci" @@ -14151,8 +12972,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-305-reflexive-position", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-305-reflexive-position" }, "id": "5900f49d1000cf542c50ffb0", "title": "Problem 305: Reflexive Position" @@ -14163,8 +12983,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-306-paper-strip-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-306-paper-strip-game" }, "id": "5900f49f1000cf542c50ffb1", "title": "Problem 306: Paper-strip Game" @@ -14175,8 +12994,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-307-chip-defects", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-307-chip-defects" }, "id": "5900f4a01000cf542c50ffb2", "title": "Problem 307: Chip Defects" @@ -14187,8 +13005,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-308-an-amazing-prime-generating-automaton", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-308-an-amazing-prime-generating-automaton" }, "id": "5900f4a11000cf542c50ffb3", "title": "Problem 308: An amazing Prime-generating Automaton" @@ -14199,8 +13016,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-309-integer-ladders", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-309-integer-ladders" }, "id": "5900f4a11000cf542c50ffb4", "title": "Problem 309: Integer Ladders" @@ -14211,8 +13027,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-31-coin-sums", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-31-coin-sums" }, "id": "5900f38b1000cf542c50fe9e", "title": "Problem 31: Coin sums" @@ -14223,8 +13038,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-310-nim-square", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-310-nim-square" }, "id": "5900f4a21000cf542c50ffb5", "title": "Problem 310: Nim Square" @@ -14235,8 +13049,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-311-biclinic-integral-quadrilaterals", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-311-biclinic-integral-quadrilaterals" }, "id": "5900f4a31000cf542c50ffb6", "title": "Problem 311: Biclinic Integral Quadrilaterals" @@ -14247,8 +13060,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-312-cyclic-paths-on-sierpiski-graphs", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-312-cyclic-paths-on-sierpiski-graphs" }, "id": "5900f4a51000cf542c50ffb7", "title": "Problem 312: Cyclic paths on Sierpiński graphs" @@ -14259,8 +13071,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-313-sliding-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-313-sliding-game" }, "id": "5900f4a61000cf542c50ffb8", "title": "Problem 313: Sliding game" @@ -14271,8 +13082,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-314-the-mouse-on-the-moon", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-314-the-mouse-on-the-moon" }, "id": "5900f4a71000cf542c50ffb9", "title": "Problem 314: The Mouse on the Moon" @@ -14283,8 +13093,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-315-digital-root-clocks", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-315-digital-root-clocks" }, "id": "5900f4a71000cf542c50ffba", "title": "Problem 315: Digital root clocks" @@ -14295,8 +13104,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-316-numbers-in-decimal-expansions", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-316-numbers-in-decimal-expansions" }, "id": "5900f4a81000cf542c50ffbb", "title": "Problem 316: Numbers in decimal expansions" @@ -14307,8 +13115,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-317-firecracker", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-317-firecracker" }, "id": "5900f4aa1000cf542c50ffbc", "title": "Problem 317: Firecracker" @@ -14319,8 +13126,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-318-2011-nines", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-318-2011-nines" }, "id": "5900f4ab1000cf542c50ffbd", "title": "Problem 318: 2011 nines" @@ -14331,8 +13137,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-319-bounded-sequences", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-319-bounded-sequences" }, "id": "5900f4ab1000cf542c50ffbe", "title": "Problem 319: Bounded Sequences" @@ -14343,8 +13148,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-32-pandigital-products", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-32-pandigital-products" }, "id": "5900f38c1000cf542c50fe9f", "title": "Problem 32: Pandigital products" @@ -14355,8 +13159,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-320-factorials-divisible-by-a-huge-integer", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-320-factorials-divisible-by-a-huge-integer" }, "id": "5900f4ae1000cf542c50ffbf", "title": "Problem 320: Factorials divisible by a huge integer" @@ -14367,8 +13170,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-321-swapping-counters", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-321-swapping-counters" }, "id": "5900f4ae1000cf542c50ffc0", "title": "Problem 321: Swapping Counters" @@ -14379,8 +13181,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-322-binomial-coefficients-divisible-by-10", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-322-binomial-coefficients-divisible-by-10" }, "id": "5900f4af1000cf542c50ffc1", "title": "Problem 322: Binomial coefficients divisible by 10" @@ -14391,8 +13192,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-323-bitwise-or-operations-on-random-integers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-323-bitwise-or-operations-on-random-integers" }, "id": "5900f4b01000cf542c50ffc2", "title": "Problem 323: Bitwise-OR operations on random integers" @@ -14403,8 +13203,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-324-building-a-tower", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-324-building-a-tower" }, "id": "5900f4b11000cf542c50ffc3", "title": "Problem 324: Building a tower" @@ -14415,8 +13214,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-325-stone-game-ii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-325-stone-game-ii" }, "id": "5900f4b11000cf542c50ffc4", "title": "Problem 325: Stone Game II" @@ -14427,8 +13225,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-326-modulo-summations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-326-modulo-summations" }, "id": "5900f4b21000cf542c50ffc5", "title": "Problem 326: Modulo Summations" @@ -14439,8 +13236,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-327-rooms-of-doom", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-327-rooms-of-doom" }, "id": "5900f4b31000cf542c50ffc6", "title": "Problem 327: Rooms of Doom" @@ -14451,8 +13247,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-328-lowest-cost-search", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-328-lowest-cost-search" }, "id": "5900f4b41000cf542c50ffc7", "title": "Problem 328: Lowest-cost Search" @@ -14463,8 +13258,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-329-prime-frog", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-329-prime-frog" }, "id": "5900f4b51000cf542c50ffc8", "title": "Problem 329: Prime Frog" @@ -14475,8 +13269,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-33-digit-cancelling-fractions", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-33-digit-cancelling-fractions" }, "id": "5900f38d1000cf542c50fea0", "title": "Problem 33: Digit cancelling fractions" @@ -14487,8 +13280,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-330-eulers-number", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-330-eulers-number" }, "id": "5900f4b71000cf542c50ffc9", "title": "Problem 330: Euler's Number" @@ -14499,8 +13291,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-331-cross-flips", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-331-cross-flips" }, "id": "5900f4b71000cf542c50ffca", "title": "Problem 331: Cross flips" @@ -14511,8 +13302,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-332-spherical-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-332-spherical-triangles" }, "id": "5900f4b91000cf542c50ffcb", "title": "Problem 332: Spherical triangles" @@ -14523,8 +13313,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-333-special-partitions", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-333-special-partitions" }, "id": "5900f4b91000cf542c50ffcc", "title": "Problem 333: Special partitions" @@ -14535,8 +13324,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-334-spilling-the-beans", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-334-spilling-the-beans" }, "id": "5900f4ba1000cf542c50ffcd", "title": "Problem 334: Spilling the beans" @@ -14547,8 +13335,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-335-gathering-the-beans", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-335-gathering-the-beans" }, "id": "5900f4bd1000cf542c50ffce", "title": "Problem 335: Gathering the beans" @@ -14559,8 +13346,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-336-maximix-arrangements", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-336-maximix-arrangements" }, "id": "5900f4bd1000cf542c50ffcf", "title": "Problem 336: Maximix Arrangements" @@ -14571,8 +13357,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-337-totient-stairstep-sequences", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-337-totient-stairstep-sequences" }, "id": "5900f4be1000cf542c50ffd0", "title": "Problem 337: Totient Stairstep Sequences" @@ -14583,8 +13368,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-338-cutting-rectangular-grid-paper", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-338-cutting-rectangular-grid-paper" }, "id": "5900f4be1000cf542c50ffd1", "title": "Problem 338: Cutting Rectangular Grid Paper" @@ -14595,8 +13379,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-339-peredur-fab-efrawg", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-339-peredur-fab-efrawg" }, "id": "5900f4c01000cf542c50ffd2", "title": "Problem 339: Peredur fab Efrawg" @@ -14607,8 +13390,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-34-digit-factorials", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-34-digit-factorials" }, "id": "5900f38e1000cf542c50fea1", "title": "Problem 34: Digit factorials" @@ -14619,8 +13401,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-340-crazy-function", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-340-crazy-function" }, "id": "5900f4c21000cf542c50ffd4", "title": "Problem 340: Crazy Function" @@ -14631,8 +13412,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-341-golombs-self-describing-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-341-golombs-self-describing-sequence" }, "id": "5900f4c11000cf542c50ffd3", "title": "Problem 341: Golomb's self-describing sequence" @@ -14643,8 +13423,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-342-the-totient-of-a-square-is-a-cube", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-342-the-totient-of-a-square-is-a-cube" }, "id": "5900f4c31000cf542c50ffd5", "title": "Problem 342: The totient of a square is a cube" @@ -14655,8 +13434,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-343-fractional-sequences", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-343-fractional-sequences" }, "id": "5900f4c41000cf542c50ffd6", "title": "Problem 343: Fractional Sequences" @@ -14667,8 +13445,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-344-silver-dollar-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-344-silver-dollar-game" }, "id": "5900f4c51000cf542c50ffd7", "title": "Problem 344: Silver dollar game" @@ -14679,8 +13456,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-345-matrix-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-345-matrix-sum" }, "id": "5900f4c81000cf542c50ffda", "title": "Problem 345: Matrix Sum" @@ -14691,8 +13467,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-346-strong-repunits", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-346-strong-repunits" }, "id": "5900f4c71000cf542c50ffd8", "title": "Problem 346: Strong Repunits" @@ -14703,8 +13478,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-347-largest-integer-divisible-by-two-primes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-347-largest-integer-divisible-by-two-primes" }, "id": "5900f4c81000cf542c50ffd9", "title": "Problem 347: Largest integer divisible by two primes" @@ -14715,8 +13489,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-348-sum-of-a-square-and-a-cube", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-348-sum-of-a-square-and-a-cube" }, "id": "5900f4c81000cf542c50ffdb", "title": "Problem 348: Sum of a square and a cube" @@ -14727,8 +13500,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-349-langtons-ant", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-349-langtons-ant" }, "id": "5900f4ca1000cf542c50ffdc", "title": "Problem 349: Langton's ant" @@ -14739,8 +13511,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-35-circular-primes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-35-circular-primes" }, "id": "5900f38f1000cf542c50fea2", "title": "Problem 35: Circular primes" @@ -14751,8 +13522,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-350-constraining-the-least-greatest-and-the-greatest-least", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-350-constraining-the-least-greatest-and-the-greatest-least" }, "id": "5900f4cb1000cf542c50ffdd", "title": "Problem 350: Constraining the least greatest and the greatest least" @@ -14763,8 +13533,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-351-hexagonal-orchards", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-351-hexagonal-orchards" }, "id": "5900f4cb1000cf542c50ffde", "title": "Problem 351: Hexagonal orchards" @@ -14775,8 +13544,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-352-blood-tests", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-352-blood-tests" }, "id": "5900f4cd1000cf542c50ffdf", "title": "Problem 352: Blood tests" @@ -14787,8 +13555,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-353-risky-moon", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-353-risky-moon" }, "id": "5900f4cd1000cf542c50ffe0", "title": "Problem 353: Risky moon" @@ -14799,8 +13566,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-354-distances-in-a-bees-honeycomb", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-354-distances-in-a-bees-honeycomb" }, "id": "5900f4cf1000cf542c50ffe1", "title": "Problem 354: Distances in a bee's honeycomb" @@ -14811,8 +13577,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-355-maximal-coprime-subset", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-355-maximal-coprime-subset" }, "id": "5900f4d01000cf542c50ffe2", "title": "Problem 355: Maximal coprime subset" @@ -14823,8 +13588,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-356-largest-roots-of-cubic-polynomials", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-356-largest-roots-of-cubic-polynomials" }, "id": "5900f4d01000cf542c50ffe3", "title": "Problem 356: Largest roots of cubic polynomials" @@ -14835,8 +13599,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-357-prime-generating-integers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-357-prime-generating-integers" }, "id": "5900f4d11000cf542c50ffe4", "title": "Problem 357: Prime generating integers" @@ -14847,8 +13610,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-358-cyclic-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-358-cyclic-numbers" }, "id": "5900f4d21000cf542c50ffe5", "title": "Problem 358: Cyclic numbers" @@ -14859,8 +13621,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-359-hilberts-new-hotel", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-359-hilberts-new-hotel" }, "id": "5900f4d31000cf542c50ffe6", "title": "Problem 359: Hilbert's New Hotel" @@ -14871,8 +13632,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-36-double-base-palindromes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-36-double-base-palindromes" }, "id": "5900f3901000cf542c50fea3", "title": "Problem 36: Double-base palindromes" @@ -14883,8 +13643,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-360-scary-sphere", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-360-scary-sphere" }, "id": "5900f4d41000cf542c50ffe7", "title": "Problem 360: Scary Sphere" @@ -14895,8 +13654,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-361-subsequence-of-thue-morse-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-361-subsequence-of-thue-morse-sequence" }, "id": "5900f4d51000cf542c50ffe8", "title": "Problem 361: Subsequence of Thue-Morse sequence" @@ -14907,8 +13665,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-362-squarefree-factors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-362-squarefree-factors" }, "id": "5900f4d61000cf542c50ffe9", "title": "Problem 362: Squarefree factors" @@ -14919,8 +13676,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-363-bzier-curves", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-363-bzier-curves" }, "id": "5900f4d91000cf542c50ffeb", "title": "Problem 363: Bézier Curves" @@ -14931,8 +13687,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-364-comfortable-distance", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-364-comfortable-distance" }, "id": "5900f4d91000cf542c50ffea", "title": "Problem 364: Comfortable distance" @@ -14943,8 +13698,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-365-a-huge-binomial-coefficient", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-365-a-huge-binomial-coefficient" }, "id": "5900f4da1000cf542c50ffec", "title": "Problem 365: A huge binomial coefficient" @@ -14955,8 +13709,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-366-stone-game-iii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-366-stone-game-iii" }, "id": "5900f4da1000cf542c50ffed", "title": "Problem 366: Stone Game III" @@ -14967,8 +13720,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-367-bozo-sort", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-367-bozo-sort" }, "id": "5900f4db1000cf542c50ffee", "title": "Problem 367: Bozo sort" @@ -14979,8 +13731,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-368-a-kempner-like-series", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-368-a-kempner-like-series" }, "id": "5900f4dd1000cf542c50ffef", "title": "Problem 368: A Kempner-like series" @@ -14991,8 +13742,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-369-badugi", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-369-badugi" }, "id": "5900f4de1000cf542c50fff0", "title": "Problem 369: Badugi" @@ -15003,8 +13753,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-37-truncatable-primes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-37-truncatable-primes" }, "id": "5900f3911000cf542c50fea4", "title": "Problem 37: Truncatable primes" @@ -15015,8 +13764,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-370-geometric-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-370-geometric-triangles" }, "id": "5900f4de1000cf542c50fff1", "title": "Problem 370: Geometric triangles" @@ -15027,8 +13775,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-371-licence-plates", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-371-licence-plates" }, "id": "5900f4e01000cf542c50fff2", "title": "Problem 371: Licence plates" @@ -15039,8 +13786,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-372-pencils-of-rays", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-372-pencils-of-rays" }, "id": "5900f4e11000cf542c50fff3", "title": "Problem 372: Pencils of rays" @@ -15051,8 +13797,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-373-circumscribed-circles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-373-circumscribed-circles" }, "id": "5900f4e11000cf542c50fff4", "title": "Problem 373: Circumscribed Circles" @@ -15063,8 +13808,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-374-maximum-integer-partition-product", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-374-maximum-integer-partition-product" }, "id": "5900f4e51000cf542c50fff6", "title": "Problem 374: Maximum Integer Partition Product" @@ -15075,8 +13819,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-375-minimum-of-subsequences", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-375-minimum-of-subsequences" }, "id": "5900f4e41000cf542c50fff5", "title": "Problem 375: Minimum of subsequences" @@ -15087,8 +13830,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-376-nontransitive-sets-of-dice", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-376-nontransitive-sets-of-dice" }, "id": "5900f4e51000cf542c50fff7", "title": "Problem 376: Nontransitive sets of dice" @@ -15099,8 +13841,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-377-sum-of-digits-experience-13", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-377-sum-of-digits-experience-13" }, "id": "5900f4e51000cf542c50fff8", "title": "Problem 377: Sum of digits, experience 13" @@ -15111,8 +13852,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-378-triangle-triples", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-378-triangle-triples" }, "id": "5900f4e61000cf542c50fff9", "title": "Problem 378: Triangle Triples" @@ -15123,8 +13863,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-379-least-common-multiple-count", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-379-least-common-multiple-count" }, "id": "5900f4e81000cf542c50fffa", "title": "Problem 379: Least common multiple count" @@ -15135,8 +13874,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-38-pandigital-multiples", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-38-pandigital-multiples" }, "id": "5900f3931000cf542c50fea5", "title": "Problem 38: Pandigital multiples" @@ -15147,8 +13885,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-380-amazing-mazes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-380-amazing-mazes" }, "id": "5900f4e81000cf542c50fffb", "title": "Problem 380: Amazing Mazes!" @@ -15159,8 +13896,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-381-prime-k-factorial", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-381-prime-k-factorial" }, "id": "5900f4ea1000cf542c50fffc", "title": "Problem 381: (prime-k) factorial" @@ -15171,8 +13907,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-382-generating-polygons", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-382-generating-polygons" }, "id": "5900f4eb1000cf542c50fffd", "title": "Problem 382: Generating polygons" @@ -15183,8 +13918,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-383-divisibility-comparison-between-factorials", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-383-divisibility-comparison-between-factorials" }, "id": "5900f4ed1000cf542c50ffff", "title": "Problem 383: Divisibility comparison between factorials" @@ -15195,8 +13929,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-384-rudin-shapiro-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-384-rudin-shapiro-sequence" }, "id": "5900f4ed1000cf542c50fffe", "title": "Problem 384: Rudin-Shapiro sequence" @@ -15207,8 +13940,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-385-ellipses-inside-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-385-ellipses-inside-triangles" }, "id": "5900f4ee1000cf542c510000", "title": "Problem 385: Ellipses inside triangles" @@ -15219,8 +13951,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-386-maximum-length-of-an-antichain", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-386-maximum-length-of-an-antichain" }, "id": "5900f4ef1000cf542c510001", "title": "Problem 386: Maximum length of an antichain" @@ -15231,8 +13962,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-387-harshad-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-387-harshad-numbers" }, "id": "5900f4f11000cf542c510003", "title": "Problem 387: Harshad Numbers" @@ -15243,8 +13973,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-388-distinct-lines", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-388-distinct-lines" }, "id": "5900f4f11000cf542c510002", "title": "Problem 388: Distinct Lines" @@ -15255,8 +13984,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-389-platonic-dice", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-389-platonic-dice" }, "id": "5900f4f21000cf542c510004", "title": "Problem 389: Platonic Dice" @@ -15267,8 +13995,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-39-integer-right-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-39-integer-right-triangles" }, "id": "5900f3931000cf542c50fea6", "title": "Problem 39: Integer right triangles" @@ -15279,8 +14006,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-390-triangles-with-non-rational-sides-and-integral-area", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-390-triangles-with-non-rational-sides-and-integral-area" }, "id": "5900f4f21000cf542c510005", "title": "Problem 390: Triangles with non rational sides and integral area" @@ -15291,8 +14017,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-391-hopping-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-391-hopping-game" }, "id": "5900f4f31000cf542c510006", "title": "Problem 391: Hopping Game" @@ -15303,8 +14028,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-392-enmeshed-unit-circle", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-392-enmeshed-unit-circle" }, "id": "5900f4f41000cf542c510007", "title": "Problem 392: Enmeshed unit circle" @@ -15315,8 +14039,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-393-migrating-ants", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-393-migrating-ants" }, "id": "5900f4f61000cf542c510008", "title": "Problem 393: Migrating ants" @@ -15327,8 +14050,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-394-eating-pie", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-394-eating-pie" }, "id": "5900f4f71000cf542c510009", "title": "Problem 394: Eating pie" @@ -15339,8 +14061,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-395-pythagorean-tree", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-395-pythagorean-tree" }, "id": "5900f4f71000cf542c51000a", "title": "Problem 395: Pythagorean tree" @@ -15351,8 +14072,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-396-weak-goodstein-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-396-weak-goodstein-sequence" }, "id": "5900f4f81000cf542c51000b", "title": "Problem 396: Weak Goodstein sequence" @@ -15363,8 +14083,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-397-triangle-on-parabola", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-397-triangle-on-parabola" }, "id": "5900f4f91000cf542c51000c", "title": "Problem 397: Triangle on parabola" @@ -15375,8 +14094,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-398-cutting-rope", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-398-cutting-rope" }, "id": "5900f4fa1000cf542c51000d", "title": "Problem 398: Cutting rope" @@ -15387,8 +14105,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-399-squarefree-fibonacci-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-399-squarefree-fibonacci-numbers" }, "id": "5900f4fc1000cf542c51000e", "title": "Problem 399: Squarefree Fibonacci Numbers" @@ -15399,8 +14116,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-4-largest-palindrome-product", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-4-largest-palindrome-product" }, "id": "5900f3701000cf542c50fe83", "title": "Problem 4: Largest palindrome product" @@ -15411,8 +14127,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-40-champernownes-constant", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-40-champernownes-constant" }, "id": "5900f3941000cf542c50fea7", "title": "Problem 40: Champernowne's constant" @@ -15423,8 +14138,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-400-fibonacci-tree-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-400-fibonacci-tree-game" }, "id": "5900f4fe1000cf542c510010", "title": "Problem 400: Fibonacci tree game" @@ -15435,8 +14149,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-401-sum-of-squares-of-divisors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-401-sum-of-squares-of-divisors" }, "id": "5900f4fd1000cf542c51000f", "title": "Problem 401: Sum of squares of divisors" @@ -15447,8 +14160,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-402-integer-valued-polynomials", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-402-integer-valued-polynomials" }, "id": "5900f4ff1000cf542c510011", "title": "Problem 402: Integer-valued polynomials" @@ -15459,8 +14171,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-403-lattice-points-enclosed-by-parabola-and-line", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-403-lattice-points-enclosed-by-parabola-and-line" }, "id": "5900f5001000cf542c510013", "title": "Problem 403: Lattice points enclosed by parabola and line" @@ -15471,8 +14182,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-404-crisscross-ellipses", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-404-crisscross-ellipses" }, "id": "5900f5001000cf542c510012", "title": "Problem 404: Crisscross Ellipses" @@ -15483,8 +14193,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-405-a-rectangular-tiling", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-405-a-rectangular-tiling" }, "id": "5900f5021000cf542c510014", "title": "Problem 405: A rectangular tiling" @@ -15495,8 +14204,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-406-guessing-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-406-guessing-game" }, "id": "5900f5021000cf542c510015", "title": "Problem 406: Guessing Game" @@ -15507,8 +14215,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-407-idempotents", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-407-idempotents" }, "id": "5900f5041000cf542c510016", "title": "Problem 407: Idempotents" @@ -15519,8 +14226,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-408-admissible-paths-through-a-grid", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-408-admissible-paths-through-a-grid" }, "id": "5900f5091000cf542c51001b", "title": "Problem 408: Admissible paths through a grid" @@ -15531,8 +14237,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-409-nim-extreme", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-409-nim-extreme" }, "id": "5900f5061000cf542c510017", "title": "Problem 409: Nim Extreme" @@ -15543,8 +14248,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-41-pandigital-prime", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-41-pandigital-prime" }, "id": "5900f3951000cf542c50fea8", "title": "Problem 41: Pandigital prime" @@ -15555,8 +14259,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-410-circle-and-tangent-line", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-410-circle-and-tangent-line" }, "id": "5900f5071000cf542c510018", "title": "Problem 410: Circle and tangent line" @@ -15567,8 +14270,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-411-uphill-paths", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-411-uphill-paths" }, "id": "5900f5081000cf542c510019", "title": "Problem 411: Uphill paths" @@ -15579,8 +14281,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-412-gnomon-numbering", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-412-gnomon-numbering" }, "id": "5900f5081000cf542c51001a", "title": "Problem 412: Gnomon numbering" @@ -15591,8 +14292,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-413-one-child-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-413-one-child-numbers" }, "id": "5900f50a1000cf542c51001c", "title": "Problem 413: One-child Numbers" @@ -15603,8 +14303,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-414-kaprekar-constant", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-414-kaprekar-constant" }, "id": "5900f50b1000cf542c51001d", "title": "Problem 414: Kaprekar constant" @@ -15615,8 +14314,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-415-titanic-sets", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-415-titanic-sets" }, "id": "5900f50c1000cf542c51001e", "title": "Problem 415: Titanic sets" @@ -15627,8 +14325,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-416-a-frogs-trip", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-416-a-frogs-trip" }, "id": "5900f50e1000cf542c510020", "title": "Problem 416: A frog's trip" @@ -15639,8 +14336,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-417-reciprocal-cycles-ii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-417-reciprocal-cycles-ii" }, "id": "5900f50d1000cf542c51001f", "title": "Problem 417: Reciprocal cycles II" @@ -15651,8 +14347,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-418-factorisation-triples", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-418-factorisation-triples" }, "id": "5900f50f1000cf542c510021", "title": "Problem 418: Factorisation triples" @@ -15663,8 +14358,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-419-look-and-say-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-419-look-and-say-sequence" }, "id": "5900f5101000cf542c510022", "title": "Problem 419: Look and say sequence" @@ -15675,8 +14369,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-42-coded-triangle-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-42-coded-triangle-numbers" }, "id": "5900f3961000cf542c50fea9", "title": "Problem 42: Coded triangle numbers" @@ -15687,8 +14380,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-420-2x2-positive-integer-matrix", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-420-2x2-positive-integer-matrix" }, "id": "5900f5111000cf542c510023", "title": "Problem 420: 2x2 positive integer matrix" @@ -15699,8 +14391,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-421-prime-factors-of-n151", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-421-prime-factors-of-n151" }, "id": "5900f5131000cf542c510024", "title": "Problem 421: Prime factors of n^15+1" @@ -15711,8 +14402,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-422-sequence-of-points-on-a-hyperbola", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-422-sequence-of-points-on-a-hyperbola" }, "id": "5900f5131000cf542c510025", "title": "Problem 422: Sequence of points on a hyperbola" @@ -15723,8 +14413,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-423-consecutive-die-throws", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-423-consecutive-die-throws" }, "id": "5900f5141000cf542c510027", "title": "Problem 423: Consecutive die throws" @@ -15735,8 +14424,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-424-kakuro", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-424-kakuro" }, "id": "5900f5141000cf542c510026", "title": "Problem 424: Kakuro" @@ -15747,8 +14435,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-425-prime-connection", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-425-prime-connection" }, "id": "5900f5151000cf542c510028", "title": "Problem 425: Prime connection" @@ -15759,8 +14446,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-426-box-ball-system", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-426-box-ball-system" }, "id": "5900f5171000cf542c510029", "title": "Problem 426: Box-ball system" @@ -15771,8 +14457,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-427-n-sequences", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-427-n-sequences" }, "id": "5900f5181000cf542c51002a", "title": "Problem 427: n-sequences" @@ -15783,8 +14468,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-428-necklace-of-circles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-428-necklace-of-circles" }, "id": "5900f5191000cf542c51002b", "title": "Problem 428: Necklace of Circles" @@ -15795,8 +14479,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-429-sum-of-squares-of-unitary-divisors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-429-sum-of-squares-of-unitary-divisors" }, "id": "5900f5191000cf542c51002c", "title": "Problem 429: Sum of squares of unitary divisors" @@ -15807,8 +14490,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-43-sub-string-divisibility", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-43-sub-string-divisibility" }, "id": "5900f3971000cf542c50feaa", "title": "Problem 43: Sub-string divisibility" @@ -15819,8 +14501,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-430-range-flips", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-430-range-flips" }, "id": "5900f51a1000cf542c51002d", "title": "Problem 430: Range flips" @@ -15831,8 +14512,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-431-square-space-silo", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-431-square-space-silo" }, "id": "5900f51b1000cf542c51002e", "title": "Problem 431: Square Space Silo" @@ -15843,8 +14523,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-432-totient-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-432-totient-sum" }, "id": "5900f51e1000cf542c510030", "title": "Problem 432: Totient sum" @@ -15855,8 +14534,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-433-steps-in-euclids-algorithm", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-433-steps-in-euclids-algorithm" }, "id": "5900f51d1000cf542c51002f", "title": "Problem 433: Steps in Euclid's algorithm" @@ -15867,8 +14545,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-434-rigid-graphs", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-434-rigid-graphs" }, "id": "5900f51f1000cf542c510031", "title": "Problem 434: Rigid graphs" @@ -15879,8 +14556,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-435-polynomials-of-fibonacci-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-435-polynomials-of-fibonacci-numbers" }, "id": "5900f5201000cf542c510032", "title": "Problem 435: Polynomials of Fibonacci numbers" @@ -15891,8 +14567,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-436-unfair-wager", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-436-unfair-wager" }, "id": "5900f5221000cf542c510033", "title": "Problem 436: Unfair wager" @@ -15903,8 +14578,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-437-fibonacci-primitive-roots", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-437-fibonacci-primitive-roots" }, "id": "5900f5241000cf542c510036", "title": "Problem 437: Fibonacci primitive roots" @@ -15915,8 +14589,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-438-integer-part-of-polynomial-equations-solutions", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-438-integer-part-of-polynomial-equations-solutions" }, "id": "5900f5231000cf542c510034", "title": "Problem 438: Integer part of polynomial equation's solutions" @@ -15927,8 +14600,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-439-sum-of-sum-of-divisors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-439-sum-of-sum-of-divisors" }, "id": "5900f5231000cf542c510035", "title": "Problem 439: Sum of sum of divisors" @@ -15939,8 +14611,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-44-pentagon-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-44-pentagon-numbers" }, "id": "5900f3981000cf542c50feab", "title": "Problem 44: Pentagon numbers" @@ -15951,8 +14622,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-440-gcd-and-tiling", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-440-gcd-and-tiling" }, "id": "5900f5241000cf542c510037", "title": "Problem 440: GCD and Tiling" @@ -15963,8 +14633,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-441-the-inverse-summation-of-coprime-couples", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-441-the-inverse-summation-of-coprime-couples" }, "id": "5900f5261000cf542c510038", "title": "Problem 441: The inverse summation of coprime couples" @@ -15975,8 +14644,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-442-eleven-free-integers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-442-eleven-free-integers" }, "id": "5900f5271000cf542c510039", "title": "Problem 442: Eleven-free integers" @@ -15987,8 +14655,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-443-gcd-sequence", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-443-gcd-sequence" }, "id": "5900f5271000cf542c51003a", "title": "Problem 443: GCD sequence" @@ -15999,8 +14666,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-444-the-roundtable-lottery", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-444-the-roundtable-lottery" }, "id": "5900f52a1000cf542c51003b", "title": "Problem 444: The Roundtable Lottery" @@ -16011,8 +14677,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-445-retractions-a", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-445-retractions-a" }, "id": "5900f52a1000cf542c51003c", "title": "Problem 445: Retractions A" @@ -16023,8 +14688,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-446-retractions-b", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-446-retractions-b" }, "id": "5900f52c1000cf542c51003d", "title": "Problem 446: Retractions B" @@ -16035,8 +14699,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-447-retractions-c", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-447-retractions-c" }, "id": "5900f52c1000cf542c51003e", "title": "Problem 447: Retractions C" @@ -16047,8 +14710,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-448-average-least-common-multiple", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-448-average-least-common-multiple" }, "id": "5900f52c1000cf542c51003f", "title": "Problem 448: Average least common multiple" @@ -16059,8 +14721,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-449-chocolate-covered-candy", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-449-chocolate-covered-candy" }, "id": "5900f52d1000cf542c510040", "title": "Problem 449: Chocolate covered candy" @@ -16071,8 +14732,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-45-triangular-pentagonal-and-hexagonal", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-45-triangular-pentagonal-and-hexagonal" }, "id": "5900f3991000cf542c50feac", "title": "Problem 45: Triangular, pentagonal, and hexagonal" @@ -16083,8 +14743,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-450-hypocycloid-and-lattice-points", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-450-hypocycloid-and-lattice-points" }, "id": "5900f52e1000cf542c510041", "title": "Problem 450: Hypocycloid and Lattice points" @@ -16095,8 +14754,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-451-modular-inverses", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-451-modular-inverses" }, "id": "5900f5311000cf542c510042", "title": "Problem 451: Modular inverses" @@ -16107,8 +14765,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-452-long-products", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-452-long-products" }, "id": "5900f5311000cf542c510043", "title": "Problem 452: Long Products" @@ -16119,8 +14776,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-453-lattice-quadrilaterals", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-453-lattice-quadrilaterals" }, "id": "5900f5311000cf542c510044", "title": "Problem 453: Lattice Quadrilaterals" @@ -16131,8 +14787,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-454-diophantine-reciprocals-iii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-454-diophantine-reciprocals-iii" }, "id": "5900f5331000cf542c510045", "title": "Problem 454: Diophantine reciprocals III" @@ -16143,8 +14798,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-455-powers-with-trailing-digits", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-455-powers-with-trailing-digits" }, "id": "5900f5331000cf542c510046", "title": "Problem 455: Powers With Trailing Digits" @@ -16155,8 +14809,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-456-triangles-containing-the-origin-ii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-456-triangles-containing-the-origin-ii" }, "id": "5900f5351000cf542c510047", "title": "Problem 456: Triangles containing the origin II" @@ -16167,8 +14820,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-457-a-polynomial-modulo-the-square-of-a-prime", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-457-a-polynomial-modulo-the-square-of-a-prime" }, "id": "5900f5361000cf542c510048", "title": "Problem 457: A polynomial modulo the square of a prime" @@ -16179,8 +14831,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-458-permutations-of-project", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-458-permutations-of-project" }, "id": "5900f5361000cf542c510049", "title": "Problem 458: Permutations of Project" @@ -16191,8 +14842,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-459-flipping-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-459-flipping-game" }, "id": "5900f5371000cf542c51004a", "title": "Problem 459: Flipping game" @@ -16203,8 +14853,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-46-goldbachs-other-conjecture", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-46-goldbachs-other-conjecture" }, "id": "5900f39a1000cf542c50fead", "title": "Problem 46: Goldbach's other conjecture" @@ -16215,8 +14864,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-460-an-ant-on-the-move", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-460-an-ant-on-the-move" }, "id": "5900f5381000cf542c51004b", "title": "Problem 460: An ant on the move" @@ -16227,8 +14875,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-461-almost-pi", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-461-almost-pi" }, "id": "5900f53a1000cf542c51004c", "title": "Problem 461: Almost Pi" @@ -16239,8 +14886,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-462-permutation-of-3-smooth-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-462-permutation-of-3-smooth-numbers" }, "id": "5900f53b1000cf542c51004d", "title": "Problem 462: Permutation of 3-smooth numbers" @@ -16251,8 +14897,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-463-a-weird-recurrence-relation", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-463-a-weird-recurrence-relation" }, "id": "5900f53c1000cf542c51004e", "title": "Problem 463: A weird recurrence relation" @@ -16263,8 +14908,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-464-mbius-function-and-intervals", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-464-mbius-function-and-intervals" }, "id": "5900f53d1000cf542c51004f", "title": "Problem 464: Möbius function and intervals" @@ -16275,8 +14919,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-465-polar-polygons", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-465-polar-polygons" }, "id": "5900f53d1000cf542c510050", "title": "Problem 465: Polar polygons" @@ -16287,8 +14930,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-466-distinct-terms-in-a-multiplication-table", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-466-distinct-terms-in-a-multiplication-table" }, "id": "5900f53e1000cf542c510051", "title": "Problem 466: Distinct terms in a multiplication table" @@ -16299,8 +14941,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-467-superinteger", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-467-superinteger" }, "id": "5900f5411000cf542c510052", "title": "Problem 467: Superinteger" @@ -16311,8 +14952,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-468-smooth-divisors-of-binomial-coefficients", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-468-smooth-divisors-of-binomial-coefficients" }, "id": "5900f5411000cf542c510054", "title": "Problem 468: Smooth divisors of binomial coefficients" @@ -16323,8 +14963,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-469-empty-chairs", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-469-empty-chairs" }, "id": "5900f5411000cf542c510053", "title": "Problem 469: Empty chairs" @@ -16335,8 +14974,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-47-distinct-primes-factors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-47-distinct-primes-factors" }, "id": "5900f39c1000cf542c50feae", "title": "Problem 47: Distinct primes factors" @@ -16347,8 +14985,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-470-super-ramvok", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-470-super-ramvok" }, "id": "5900f5431000cf542c510055", "title": "Problem 470: Super Ramvok" @@ -16359,8 +14996,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-471-triangle-inscribed-in-ellipse", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-471-triangle-inscribed-in-ellipse" }, "id": "5900f5431000cf542c510056", "title": "Problem 471: Triangle inscribed in ellipse" @@ -16371,8 +15007,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-472-comfortable-distance-ii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-472-comfortable-distance-ii" }, "id": "5900f5451000cf542c510057", "title": "Problem 472: Comfortable Distance II" @@ -16383,8 +15018,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-473-phigital-number-base", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-473-phigital-number-base" }, "id": "5900f5461000cf542c510058", "title": "Problem 473: Phigital number base" @@ -16395,8 +15029,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-474-last-digits-of-divisors", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-474-last-digits-of-divisors" }, "id": "5900f5471000cf542c510059", "title": "Problem 474: Last digits of divisors" @@ -16407,8 +15040,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-475-music-festival", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-475-music-festival" }, "id": "5900f5481000cf542c51005a", "title": "Problem 475: Music festival" @@ -16419,8 +15051,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-476-circle-packing-ii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-476-circle-packing-ii" }, "id": "5900f5481000cf542c51005b", "title": "Problem 476: Circle Packing II" @@ -16431,8 +15062,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-477-number-sequence-game", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-477-number-sequence-game" }, "id": "5900f54a1000cf542c51005c", "title": "Problem 477: Number Sequence Game" @@ -16443,8 +15073,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-478-mixtures", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-478-mixtures" }, "id": "5900f54c1000cf542c51005e", "title": "Problem 478: Mixtures" @@ -16455,8 +15084,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-479-roots-on-the-rise", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-479-roots-on-the-rise" }, "id": "5900f54b1000cf542c51005d", "title": "Problem 479: Roots on the Rise" @@ -16467,8 +15095,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-48-self-powers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-48-self-powers" }, "id": "5900f39c1000cf542c50feaf", "title": "Problem 48: Self powers" @@ -16479,8 +15106,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-480-the-last-question", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-480-the-last-question" }, "id": "5900f54c1000cf542c51005f", "title": "Problem 480: The Last Question" @@ -16491,8 +15117,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-49-prime-permutations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-49-prime-permutations" }, "id": "5900f39d1000cf542c50feb0", "title": "Problem 49: Prime permutations" @@ -16503,8 +15128,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-5-smallest-multiple", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-5-smallest-multiple" }, "id": "5900f3711000cf542c50fe84", "title": "Problem 5: Smallest multiple" @@ -16515,8 +15139,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-50-consecutive-prime-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-50-consecutive-prime-sum" }, "id": "5900f39e1000cf542c50feb1", "title": "Problem 50: Consecutive prime sum" @@ -16527,8 +15150,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-51-prime-digit-replacements", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-51-prime-digit-replacements" }, "id": "5900f39f1000cf542c50feb2", "title": "Problem 51: Prime digit replacements" @@ -16539,8 +15161,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-52-permuted-multiples", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-52-permuted-multiples" }, "id": "5900f3a01000cf542c50feb3", "title": "Problem 52: Permuted multiples" @@ -16551,8 +15172,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-53-combinatoric-selections", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-53-combinatoric-selections" }, "id": "5900f3a11000cf542c50feb4", "title": "Problem 53: Combinatoric selections" @@ -16563,8 +15183,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-54-poker-hands", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-54-poker-hands" }, "id": "5900f3a21000cf542c50feb5", "title": "Problem 54: Poker hands" @@ -16575,8 +15194,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-55-lychrel-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-55-lychrel-numbers" }, "id": "5900f3a31000cf542c50feb6", "title": "Problem 55: Lychrel numbers" @@ -16587,8 +15205,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-56-powerful-digit-sum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-56-powerful-digit-sum" }, "id": "5900f3a41000cf542c50feb7", "title": "Problem 56: Powerful digit sum" @@ -16599,8 +15216,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-57-square-root-convergents", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-57-square-root-convergents" }, "id": "5900f3a51000cf542c50feb8", "title": "Problem 57: Square root convergents" @@ -16611,8 +15227,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-58-spiral-primes", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-58-spiral-primes" }, "id": "5900f3a61000cf542c50feb9", "title": "Problem 58: Spiral primes" @@ -16623,8 +15238,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-59-xor-decryption", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-59-xor-decryption" }, "id": "5900f3a81000cf542c50feba", "title": "Problem 59: XOR decryption" @@ -16635,8 +15249,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-6-sum-square-difference", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-6-sum-square-difference" }, "id": "5900f3721000cf542c50fe85", "title": "Problem 6: Sum square difference" @@ -16647,8 +15260,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-60-prime-pair-sets", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-60-prime-pair-sets" }, "id": "5900f3a81000cf542c50febb", "title": "Problem 60: Prime pair sets" @@ -16659,8 +15271,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-61-cyclical-figurate-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-61-cyclical-figurate-numbers" }, "id": "5900f3a91000cf542c50febc", "title": "Problem 61: Cyclical figurate numbers" @@ -16671,8 +15282,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-62-cubic-permutations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-62-cubic-permutations" }, "id": "5900f3aa1000cf542c50febd", "title": "Problem 62: Cubic permutations" @@ -16683,8 +15293,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-63-powerful-digit-counts", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-63-powerful-digit-counts" }, "id": "5900f3ab1000cf542c50febe", "title": "Problem 63: Powerful digit counts" @@ -16695,8 +15304,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-64-odd-period-square-roots", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-64-odd-period-square-roots" }, "id": "5900f3ac1000cf542c50febf", "title": "Problem 64: Odd period square roots" @@ -16707,8 +15315,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-65-convergents-of-e", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-65-convergents-of-e" }, "id": "5900f3ad1000cf542c50fec0", "title": "Problem 65: Convergents of e" @@ -16719,8 +15326,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-66-diophantine-equation", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-66-diophantine-equation" }, "id": "5900f3ae1000cf542c50fec1", "title": "Problem 66: Diophantine equation" @@ -16731,8 +15337,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-67-maximum-path-sum-ii", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-67-maximum-path-sum-ii" }, "id": "5900f3b01000cf542c50fec2", "title": "Problem 67: Maximum path sum II" @@ -16743,8 +15348,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-68-magic-5-gon-ring", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-68-magic-5-gon-ring" }, "id": "5900f3b01000cf542c50fec3", "title": "Problem 68: Magic 5-gon ring" @@ -16755,8 +15359,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-69-totient-maximum", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-69-totient-maximum" }, "id": "5900f3b11000cf542c50fec4", "title": "Problem 69: Totient maximum" @@ -16767,8 +15370,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-7-10001st-prime", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-7-10001st-prime" }, "id": "5900f3731000cf542c50fe86", "title": "Problem 7: 10001st prime" @@ -16779,8 +15381,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-70-totient-permutation", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-70-totient-permutation" }, "id": "5900f3b21000cf542c50fec5", "title": "Problem 70: Totient permutation" @@ -16791,8 +15392,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-71-ordered-fractions", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-71-ordered-fractions" }, "id": "5900f3b31000cf542c50fec6", "title": "Problem 71: Ordered fractions" @@ -16803,8 +15403,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-72-counting-fractions", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-72-counting-fractions" }, "id": "5900f3b41000cf542c50fec7", "title": "Problem 72: Counting fractions" @@ -16815,8 +15414,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-73-counting-fractions-in-a-range", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-73-counting-fractions-in-a-range" }, "id": "5900f3b61000cf542c50fec8", "title": "Problem 73: Counting fractions in a range" @@ -16827,8 +15425,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-74-digit-factorial-chains", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-74-digit-factorial-chains" }, "id": "5900f3b61000cf542c50fec9", "title": "Problem 74: Digit factorial chains" @@ -16839,8 +15436,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-75-singular-integer-right-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-75-singular-integer-right-triangles" }, "id": "5900f3b71000cf542c50feca", "title": "Problem 75: Singular integer right triangles" @@ -16851,8 +15447,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-76-counting-summations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-76-counting-summations" }, "id": "5900f3b81000cf542c50fecb", "title": "Problem 76: Counting summations" @@ -16863,8 +15458,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-77-prime-summations", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-77-prime-summations" }, "id": "5900f3b91000cf542c50fecc", "title": "Problem 77: Prime summations" @@ -16875,8 +15469,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-78-coin-partitions", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-78-coin-partitions" }, "id": "5900f3ba1000cf542c50fecd", "title": "Problem 78: Coin partitions" @@ -16887,8 +15480,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-79-passcode-derivation", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-79-passcode-derivation" }, "id": "5900f3bb1000cf542c50fece", "title": "Problem 79: Passcode derivation" @@ -16899,8 +15491,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-8-largest-product-in-a-series", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-8-largest-product-in-a-series" }, "id": "5900f3741000cf542c50fe87", "title": "Problem 8: Largest product in a series" @@ -16911,8 +15502,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-80-square-root-digital-expansion", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-80-square-root-digital-expansion" }, "id": "5900f3bc1000cf542c50fecf", "title": "Problem 80: Square root digital expansion" @@ -16923,8 +15513,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-81-path-sum-two-ways", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-81-path-sum-two-ways" }, "id": "5900f3bd1000cf542c50fed0", "title": "Problem 81: Path sum: two ways" @@ -16935,8 +15524,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-82-path-sum-three-ways", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-82-path-sum-three-ways" }, "id": "5900f3be1000cf542c50fed1", "title": "Problem 82: Path sum: three ways" @@ -16947,8 +15535,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-83-path-sum-four-ways", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-83-path-sum-four-ways" }, "id": "5900f3bf1000cf542c50fed2", "title": "Problem 83: Path sum: four ways" @@ -16959,8 +15546,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-84-monopoly-odds", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-84-monopoly-odds" }, "id": "5900f3c11000cf542c50fed3", "title": "Problem 84: Monopoly odds" @@ -16971,8 +15557,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-85-counting-rectangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-85-counting-rectangles" }, "id": "5900f3c11000cf542c50fed4", "title": "Problem 85: Counting rectangles" @@ -16983,8 +15568,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-86-cuboid-route", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-86-cuboid-route" }, "id": "5900f3c31000cf542c50fed5", "title": "Problem 86: Cuboid route" @@ -16995,8 +15579,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-87-prime-power-triples", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-87-prime-power-triples" }, "id": "5900f3c51000cf542c50fed8", "title": "Problem 87: Prime power triples" @@ -17007,8 +15590,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-88-product-sum-numbers", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-88-product-sum-numbers" }, "id": "5900f3c51000cf542c50fed6", "title": "Problem 88: Product-sum numbers" @@ -17019,8 +15601,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-89-roman-numerals", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-89-roman-numerals" }, "id": "5900f3c51000cf542c50fed7", "title": "Problem 89: Roman numerals" @@ -17031,8 +15612,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-9-special-pythagorean-triplet", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-9-special-pythagorean-triplet" }, "id": "5900f3761000cf542c50fe88", "title": "Problem 9: Special Pythagorean triplet" @@ -17043,8 +15623,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-90-cube-digit-pairs", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-90-cube-digit-pairs" }, "id": "5900f3c61000cf542c50fed9", "title": "Problem 90: Cube digit pairs" @@ -17055,8 +15634,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-91-right-triangles-with-integer-coordinates", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-91-right-triangles-with-integer-coordinates" }, "id": "5900f3c71000cf542c50feda", "title": "Problem 91: Right triangles with integer coordinates" @@ -17067,8 +15645,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-92-square-digit-chains", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-92-square-digit-chains" }, "id": "5900f3c81000cf542c50fedb", "title": "Problem 92: Square digit chains" @@ -17079,8 +15656,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-93-arithmetic-expressions", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-93-arithmetic-expressions" }, "id": "5900f3ca1000cf542c50fedc", "title": "Problem 93: Arithmetic expressions" @@ -17091,8 +15667,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-94-almost-equilateral-triangles", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-94-almost-equilateral-triangles" }, "id": "5900f3ca1000cf542c50fedd", "title": "Problem 94: Almost equilateral triangles" @@ -17103,8 +15678,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-95-amicable-chains", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-95-amicable-chains" }, "id": "5900f3cc1000cf542c50fede", "title": "Problem 95: Amicable chains" @@ -17115,8 +15689,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-96-su-doku", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-96-su-doku" }, "id": "5900f3cc1000cf542c50fedf", "title": "Problem 96: Su Doku" @@ -17127,8 +15700,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-97-large-non-mersenne-prime", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-97-large-non-mersenne-prime" }, "id": "5900f3ce1000cf542c50fee0", "title": "Problem 97: Large non-Mersenne prime" @@ -17139,8 +15711,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-98-anagramic-squares", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-98-anagramic-squares" }, "id": "5900f3cf1000cf542c50fee1", "title": "Problem 98: Anagramic squares" @@ -17151,8 +15722,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/project-euler/problem-99-largest-exponential", - "blockName": "Project Euler" + "slug": "/learn/coding-interview-prep/project-euler/problem-99-largest-exponential" }, "id": "5900f3d01000cf542c50fee2", "title": "Problem 99: Largest exponential" @@ -17163,8 +15733,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/100-doors", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/100-doors" }, "id": "594810f028c0303b75339acb", "title": "100 doors" @@ -17175,8 +15744,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/24-game", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/24-game" }, "id": "5951e88f64ebf159166a1176", "title": "24 game" @@ -17187,8 +15755,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/9-billion-names-of-god-the-integer", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/9-billion-names-of-god-the-integer" }, "id": "5949b579404977fbaefcd736", "title": "9 billion names of God the integer" @@ -17199,8 +15766,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/abc-problem", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/abc-problem" }, "id": "594810f028c0303b75339acc", "title": "ABC Problem" @@ -17211,8 +15777,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/abundant-deficient-and-perfect-number-classifications", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/abundant-deficient-and-perfect-number-classifications" }, "id": "594810f028c0303b75339acd", "title": "Abundant, deficient and perfect number classifications" @@ -17223,8 +15788,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/accumulator-factory", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/accumulator-factory" }, "id": "594810f028c0303b75339ace", "title": "Accumulator factory" @@ -17235,8 +15799,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/ackermann-function", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/ackermann-function" }, "id": "594810f028c0303b75339acf", "title": "Ackermann function" @@ -17247,8 +15810,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/align-columns", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/align-columns" }, "id": "594810f028c0303b75339ad0", "title": "Align columns" @@ -17259,8 +15821,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/amicable-pairs", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/amicable-pairs" }, "id": "5949b579404977fbaefcd737", "title": "Amicable pairs" @@ -17271,8 +15832,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/averagesmode", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/averagesmode" }, "id": "594d8d0ab97724821379b1e6", "title": "Averages/Mode" @@ -17283,8 +15843,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/averagespythagorean-means", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/averagespythagorean-means" }, "id": "594d966a1467eb84194f0086", "title": "Averages/Pythagorean means" @@ -17295,8 +15854,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/averagesroot-mean-square", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/averagesroot-mean-square" }, "id": "594da033de4190850b893874", "title": "Averages/Root mean square" @@ -17307,8 +15865,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/babbage-problem", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/babbage-problem" }, "id": "594db4d0dedb4c06a2a4cefd", "title": "Babbage problem" @@ -17319,8 +15876,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/balanced-brackets", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/balanced-brackets" }, "id": "594dc6c729e5700999302b45", "title": "Balanced brackets" @@ -17331,8 +15887,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/circles-of-given-radius-through-two-points", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/circles-of-given-radius-through-two-points" }, "id": "5951815dd895584b06884620", "title": "Circles of given radius through two points" @@ -17343,8 +15898,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/closest-pair-problem", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/closest-pair-problem" }, "id": "5951a53863c8a34f02bf1bdc", "title": "Closest-pair problem" @@ -17355,8 +15909,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/combinations", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/combinations" }, "id": "5958469238c0d8d2632f46db", "title": "Combinations" @@ -17367,8 +15920,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/comma-quibbling", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/comma-quibbling" }, "id": "596e414344c3b2872167f0fe", "title": "Comma quibbling" @@ -17379,8 +15931,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/compare-a-list-of-strings", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/compare-a-list-of-strings" }, "id": "596e457071c35c882915b3e4", "title": "Compare a list of strings" @@ -17391,8 +15942,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/convert-seconds-to-compound-duration", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/convert-seconds-to-compound-duration" }, "id": "596fd036dc1ab896c5db98b1", "title": "Convert seconds to compound duration" @@ -17403,8 +15953,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/count-occurrences-of-a-substring", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/count-occurrences-of-a-substring" }, "id": "596fda99c69f779975a1b67d", "title": "Count occurrences of a substring" @@ -17415,8 +15964,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/count-the-coins", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/count-the-coins" }, "id": "59713bd26bdeb8a594fb9413", "title": "Count the coins" @@ -17427,8 +15975,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/cramers-rule", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/cramers-rule" }, "id": "59713da0a428c1a62d7db430", "title": "Cramer's rule" @@ -17439,8 +15986,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/cumulative-standard-deviation", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/cumulative-standard-deviation" }, "id": "5a23c84252665b21eecc7e03", "title": "Cumulative standard deviation" @@ -17451,8 +15997,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/cusip", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/cusip" }, "id": "5a23c84252665b21eecc7e05", "title": "CUSIP" @@ -17463,8 +16008,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/cut-a-rectangle", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/cut-a-rectangle" }, "id": "5a23c84252665b21eecc7e06", "title": "Cut a rectangle" @@ -17475,8 +16019,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/date-format", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/date-format" }, "id": "59669d08d75b60482359409f", "title": "Date format" @@ -17487,8 +16030,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/date-manipulation", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/date-manipulation" }, "id": "5966c21cf732a95f1b67dd28", "title": "Date manipulation" @@ -17499,8 +16041,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/day-of-the-week", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/day-of-the-week" }, "id": "5966f99c45e8976909a85575", "title": "Day of the week" @@ -17511,8 +16052,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/deal-cards-for-freecell", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/deal-cards-for-freecell" }, "id": "59694356a6e7011f7f1c5f4e", "title": "Deal cards for FreeCell" @@ -17523,8 +16063,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/deepcopy", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/deepcopy" }, "id": "596a8888ab7c01048de257d5", "title": "Deepcopy" @@ -17535,8 +16074,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/define-a-primitive-data-type", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/define-a-primitive-data-type" }, "id": "597089c87eec450c68aa1643", "title": "Define a primitive data type" @@ -17547,8 +16085,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/department-numbers", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/department-numbers" }, "id": "59f40b17e79dbf1ab720ed7a", "title": "Department Numbers" @@ -17559,8 +16096,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/discordian-date", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/discordian-date" }, "id": "59f4eafba0343628bb682785", "title": "Discordian date" @@ -17571,8 +16107,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/dot-product", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/dot-product" }, "id": "5a23c84252665b21eecc7e1e", "title": "Dot product" @@ -17583,8 +16118,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/element-wise-operations", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/element-wise-operations" }, "id": "599c333915e0ea32d04d4bec", "title": "Element-wise operations" @@ -17595,8 +16129,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/emirp-primes", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/emirp-primes" }, "id": "599d0ba974141b0f508b37d5", "title": "Emirp primes" @@ -17607,8 +16140,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/entropy", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/entropy" }, "id": "599d15309e88c813a40baf58", "title": "Entropy" @@ -17619,8 +16151,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/equilibrium-index", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/equilibrium-index" }, "id": "5987fd532b954e0f21b5d3f6", "title": "Equilibrium index" @@ -17631,8 +16162,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/ethiopian-multiplication", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/ethiopian-multiplication" }, "id": "599d1566a02b571412643b84", "title": "Ethiopian multiplication" @@ -17643,8 +16173,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/euler-method", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/euler-method" }, "id": "59880443fb36441083c6c20e", "title": "Euler method" @@ -17655,8 +16184,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/evaluate-binomial-coefficients", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/evaluate-binomial-coefficients" }, "id": "598de241872ef8353c58a7a2", "title": "Evaluate binomial coefficients" @@ -17667,8 +16195,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/execute-a-markov-algorithm", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/execute-a-markov-algorithm" }, "id": "59e09e6d412c5939baa02d16", "title": "Execute a Markov algorithm" @@ -17679,8 +16206,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/execute-brain", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/execute-brain" }, "id": "59e0a8df964e4540d5abe599", "title": "Execute Brain****" @@ -17691,8 +16217,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/extensible-prime-generator", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/extensible-prime-generator" }, "id": "598ee8b91b410510ae82efef", "title": "Extensible prime generator" @@ -17703,8 +16228,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/factorial", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/factorial" }, "id": "597b2b2a2702b44414742771", "title": "Factorial" @@ -17715,8 +16239,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/factors-of-a-mersenne-number", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/factors-of-a-mersenne-number" }, "id": "598eea87e5cf4b116c3ff81a", "title": "Factors of a Mersenne number" @@ -17727,8 +16250,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/factors-of-an-integer", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/factors-of-an-integer" }, "id": "597f1e7fbc206f0e9ba95dc4", "title": "Factors of an integer" @@ -17739,8 +16261,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/farey-sequence", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/farey-sequence" }, "id": "59c3ec9f15068017c96eb8a3", "title": "Farey sequence" @@ -17751,8 +16272,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/fibonacci-n-step-number-sequences", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/fibonacci-n-step-number-sequences" }, "id": "598eef80ba501f1268170e1e", "title": "Fibonacci n-step number sequences" @@ -17763,8 +16283,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/fibonacci-sequence", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/fibonacci-sequence" }, "id": "597f24c1dda4e70f53c79c81", "title": "Fibonacci sequence" @@ -17775,8 +16294,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/fibonacci-word", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/fibonacci-word" }, "id": "5992e222d397f00d21122931", "title": "Fibonacci word" @@ -17787,8 +16305,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/fizzbuzz", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/fizzbuzz" }, "id": "5e9ddb06ec35240f39657419", "title": "FizzBuzz" @@ -17799,8 +16316,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/fractran", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/fractran" }, "id": "5a7dad05be01840e1778a0d1", "title": "Fractran" @@ -17811,8 +16327,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/gamma-function", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/gamma-function" }, "id": "5a23c84252665b21eecc7e76", "title": "Gamma function" @@ -17823,8 +16338,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/gaussian-elimination", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/gaussian-elimination" }, "id": "5a23c84252665b21eecc7e77", "title": "Gaussian elimination" @@ -17835,8 +16349,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/general-fizzbuzz", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/general-fizzbuzz" }, "id": "5a23c84252665b21eecc7e78", "title": "General FizzBuzz" @@ -17847,8 +16360,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/generate-lower-case-ascii-alphabet", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/generate-lower-case-ascii-alphabet" }, "id": "5a23c84252665b21eecc7e7a", "title": "Generate lower case ASCII alphabet" @@ -17859,8 +16371,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/generatorexponential", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/generatorexponential" }, "id": "5a23c84252665b21eecc7e7b", "title": "Generator/Exponential" @@ -17871,8 +16382,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/gray-code", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/gray-code" }, "id": "5a23c84252665b21eecc7e80", "title": "Gray code" @@ -17883,8 +16393,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/greatest-common-divisor", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/greatest-common-divisor" }, "id": "5a23c84252665b21eecc7e82", "title": "Greatest common divisor" @@ -17895,8 +16404,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/greatest-subsequential-sum", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/greatest-subsequential-sum" }, "id": "5a23c84252665b21eecc7e84", "title": "Greatest subsequential sum" @@ -17907,8 +16415,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/hailstone-sequence", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/hailstone-sequence" }, "id": "595608ff8bcd7a50bd490181", "title": "Hailstone sequence" @@ -17919,8 +16426,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/happy-numbers", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/happy-numbers" }, "id": "594810f028c0303b75339ad1", "title": "Happy numbers" @@ -17931,8 +16437,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/harshad-or-niven-series", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/harshad-or-niven-series" }, "id": "595668ca4cfe1af2fb9818d4", "title": "Harshad or Niven series" @@ -17943,8 +16448,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/hash-from-two-arrays", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/hash-from-two-arrays" }, "id": "595671d4d2cdc305f0d5b36f", "title": "Hash from two arrays" @@ -17955,8 +16459,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/hash-join", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/hash-join" }, "id": "5956795bc9e2c415eb244de1", "title": "Hash join" @@ -17967,8 +16470,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/heronian-triangles", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/heronian-triangles" }, "id": "595b98f8b5a2245e243aa831", "title": "Heronian triangles" @@ -17979,8 +16481,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/hofstadter-figure-figure-sequences", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/hofstadter-figure-figure-sequences" }, "id": "59622f89e4e137560018a40e", "title": "Hofstadter Figure-Figure sequences" @@ -17991,8 +16492,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/hofstadter-q-sequence", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/hofstadter-q-sequence" }, "id": "59637c4d89f6786115efd814", "title": "Hofstadter Q sequence" @@ -18003,8 +16503,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/i-before-e-except-after-c", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/i-before-e-except-after-c" }, "id": "5a23c84252665b21eecc7eb0", "title": "I before E except after C" @@ -18015,8 +16514,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/iban", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/iban" }, "id": "5a23c84252665b21eecc7eaf", "title": "IBAN" @@ -18027,8 +16525,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/identity-matrix", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/identity-matrix" }, "id": "5a23c84252665b21eecc7eb1", "title": "Identity matrix" @@ -18039,8 +16536,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/iterated-digits-squaring", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/iterated-digits-squaring" }, "id": "5a23c84252665b21eecc7ec1", "title": "Iterated digits squaring" @@ -18051,8 +16547,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/jaro-distance", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/jaro-distance" }, "id": "5a23c84252665b21eecc7ec2", "title": "Jaro distance" @@ -18063,8 +16558,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/jortsort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/jortsort" }, "id": "5a23c84252665b21eecc7ec4", "title": "JortSort" @@ -18075,8 +16569,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/josephus-problem", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/josephus-problem" }, "id": "5a23c84252665b21eecc7ec5", "title": "Josephus problem" @@ -18087,8 +16580,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/k-d-tree", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/k-d-tree" }, "id": "5a23c84252665b21eecc7ecb", "title": "K-d tree" @@ -18099,8 +16591,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/kaprekar-numbers", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/kaprekar-numbers" }, "id": "5a23c84252665b21eecc7eca", "title": "Kaprekar numbers" @@ -18111,8 +16602,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/knapsack-problem0-1", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/knapsack-problem0-1" }, "id": "5a23c84252665b21eecc7ed1", "title": "Knapsack problem/0-1" @@ -18123,8 +16613,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/knapsack-problembounded", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/knapsack-problembounded" }, "id": "5a23c84252665b21eecc7ed2", "title": "Knapsack problem/Bounded" @@ -18135,8 +16624,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/knapsack-problemcontinuous", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/knapsack-problemcontinuous" }, "id": "5a23c84252665b21eecc7ed3", "title": "Knapsack problem/Continuous" @@ -18147,8 +16635,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/knapsack-problemunbounded", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/knapsack-problemunbounded" }, "id": "5a23c84252665b21eecc7ed4", "title": "Knapsack problem/Unbounded" @@ -18159,8 +16646,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/knights-tour", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/knights-tour" }, "id": "5a23c84252665b21eecc7ed5", "title": "Knight's tour" @@ -18171,8 +16657,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/largest-int-from-concatenated-ints", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/largest-int-from-concatenated-ints" }, "id": "5a23c84252665b21eecc7edb", "title": "Largest int from concatenated ints" @@ -18183,8 +16668,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/last-friday-of-each-month", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/last-friday-of-each-month" }, "id": "5a23c84252665b21eecc7edc", "title": "Last Friday of each month" @@ -18195,8 +16679,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/last-letter-first-letter", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/last-letter-first-letter" }, "id": "5e4ce2b6ac708cc68c1df25e", "title": "Last letter-first letter" @@ -18207,8 +16690,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/leap-year", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/leap-year" }, "id": "5a23c84252665b21eecc7ede", "title": "Leap year" @@ -18219,8 +16701,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/least-common-multiple", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/least-common-multiple" }, "id": "5a23c84252665b21eecc7edf", "title": "Least common multiple" @@ -18231,8 +16712,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/left-factorials", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/left-factorials" }, "id": "5a23c84252665b21eecc7ee0", "title": "Left factorials" @@ -18243,8 +16723,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/letter-frequency", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/letter-frequency" }, "id": "5e4ce2bbac708cc68c1df25f", "title": "Letter frequency" @@ -18255,8 +16734,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/levenshtein-distance", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/levenshtein-distance" }, "id": "5e4ce2eaac708cc68c1df260", "title": "Levenshtein distance" @@ -18267,8 +16745,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/linear-congruential-generator", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/linear-congruential-generator" }, "id": "5e4ce2f5ac708cc68c1df261", "title": "Linear congruential generator" @@ -18279,8 +16756,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/long-multiplication", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/long-multiplication" }, "id": "5e4ce2a1ac708cc68c1df25d", "title": "Long multiplication" @@ -18291,8 +16767,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/longest-common-subsequence", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/longest-common-subsequence" }, "id": "5e6dd1278e6ca105cde40ea9", "title": "Longest common subsequence" @@ -18303,8 +16778,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/longest-increasing-subsequence", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/longest-increasing-subsequence" }, "id": "5e6dd139859c290b6ab80292", "title": "Longest increasing subsequence" @@ -18315,8 +16789,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/longest-string-challenge", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/longest-string-challenge" }, "id": "5e6dd14192286d95fc43046e", "title": "Longest string challenge" @@ -18327,8 +16800,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/look-and-say-sequence", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/look-and-say-sequence" }, "id": "5e6dd14797f5ce267c2f19d0", "title": "Look-and-say sequence" @@ -18339,8 +16811,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/loop-over-multiple-arrays-simultaneously", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/loop-over-multiple-arrays-simultaneously" }, "id": "5e6dd15004c88cf00d2a78b3", "title": "Loop over multiple arrays simultaneously" @@ -18351,8 +16822,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/lu-decomposition", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/lu-decomposition" }, "id": "5e6decd8ec8d7db960950d1c", "title": "LU decomposition" @@ -18363,8 +16833,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/lucas-lehmer-test", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/lucas-lehmer-test" }, "id": "5e6dee7749a0b85a3f1fc7d5", "title": "Lucas-Lehmer test" @@ -18375,8 +16844,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/ludic-numbers", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/ludic-numbers" }, "id": "5ea281203167d2b0bdefca00", "title": "Ludic numbers" @@ -18387,8 +16855,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/luhn-test-of-credit-card-numbers", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/luhn-test-of-credit-card-numbers" }, "id": "5ea28156e79528a9ab248f27", "title": "Luhn test of credit card numbers" @@ -18399,8 +16866,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/lychrel-numbers", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/lychrel-numbers" }, "id": "5ea2815a8640bcc6cb7dab3c", "title": "Lychrel numbers" @@ -18411,8 +16877,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/lzw-compression", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/lzw-compression" }, "id": "5ea2815e364d9a2222ea55f8", "title": "LZW compression" @@ -18423,8 +16888,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/s-expressions", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/s-expressions" }, "id": "59667989bf71cf555dd5d2ff", "title": "S-Expressions" @@ -18435,8 +16899,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sailors-coconuts-and-a-monkey-problem", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sailors-coconuts-and-a-monkey-problem" }, "id": "59da22823d04c95919d46269", "title": "Sailors, coconuts and a monkey problem" @@ -18447,8 +16910,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/search-a-list-of-records", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/search-a-list-of-records" }, "id": "5eb3e497b8d6d7f63c5517ea", "title": "Search a list of records" @@ -18459,8 +16921,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sedols", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sedols" }, "id": "59d9c6bc214c613ba73ff012", "title": "SEDOLs" @@ -18471,8 +16932,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/self-describing-numbers", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/self-describing-numbers" }, "id": "5eaf48389ee512d4d103684b", "title": "Self Describing Numbers" @@ -18483,8 +16943,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/self-referential-sequence", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/self-referential-sequence" }, "id": "5eb3e4a21f462f409d656c73", "title": "Self-referential sequence" @@ -18495,8 +16954,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/semiprime", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/semiprime" }, "id": "5eb3e4aa847216613aa81983", "title": "Semiprime" @@ -18507,8 +16965,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/set-consolidation", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/set-consolidation" }, "id": "5eb3e4af7d0e7b760b46cedc", "title": "Set consolidation" @@ -18519,8 +16976,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/set-of-real-numbers", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/set-of-real-numbers" }, "id": "5eb3e4b20aa93c437f9e9717", "title": "Set of real numbers" @@ -18531,8 +16987,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sha-1", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sha-1" }, "id": "5eb3e4b5f629b9a07429a5d2", "title": "SHA-1" @@ -18543,8 +16998,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sha-256", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sha-256" }, "id": "5eb3e4c3a894c333d2811a3f", "title": "SHA-256" @@ -18555,8 +17009,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sort-an-array-of-composite-structures", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sort-an-array-of-composite-structures" }, "id": "5a23c84252665b21eecc7ffe", "title": "Sort an array of composite structures" @@ -18567,8 +17020,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sort-disjoint-sublist", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sort-disjoint-sublist" }, "id": "5a23c84252665b21eecc8000", "title": "Sort disjoint sublist" @@ -18579,8 +17031,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sort-stability", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sort-stability" }, "id": "5a23c84252665b21eecc8014", "title": "Sort stability" @@ -18591,8 +17042,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sort-using-a-custom-comparator", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sort-using-a-custom-comparator" }, "id": "5a23c84252665b21eecc8016", "title": "Sort using a custom comparator" @@ -18603,8 +17053,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsbead-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsbead-sort" }, "id": "5a23c84252665b21eecc8001", "title": "Sorting algorithms/Bead sort" @@ -18615,8 +17064,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsbogosort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsbogosort" }, "id": "5a23c84252665b21eecc8002", "title": "Sorting algorithms/Bogosort" @@ -18627,8 +17075,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmscocktail-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmscocktail-sort" }, "id": "5a23c84252665b21eecc8004", "title": "Sorting algorithms/Cocktail sort" @@ -18639,8 +17086,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmscomb-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmscomb-sort" }, "id": "5a23c84252665b21eecc8005", "title": "Sorting algorithms/Comb sort" @@ -18651,8 +17097,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsgnome-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsgnome-sort" }, "id": "5a23c84252665b21eecc8007", "title": "Sorting algorithms/Gnome sort" @@ -18663,8 +17108,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmspancake-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmspancake-sort" }, "id": "5a23c84252665b21eecc800b", "title": "Sorting algorithms/Pancake sort" @@ -18675,8 +17119,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmspermutation-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmspermutation-sort" }, "id": "5a23c84252665b21eecc800c", "title": "Sorting algorithms/Permutation sort" @@ -18687,8 +17130,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsshell-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsshell-sort" }, "id": "5a23c84252665b21eecc8010", "title": "Sorting algorithms/Shell sort" @@ -18699,8 +17141,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsstooge-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsstooge-sort" }, "id": "5a23c84252665b21eecc8012", "title": "Sorting algorithms/Stooge sort" @@ -18711,8 +17152,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsstrand-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sorting-algorithmsstrand-sort" }, "id": "5a23c84252665b21eecc8013", "title": "Sorting algorithms/Strand sort" @@ -18723,8 +17163,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/soundex", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/soundex" }, "id": "5a23c84252665b21eecc8017", "title": "Soundex" @@ -18735,8 +17174,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/spiral-matrix", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/spiral-matrix" }, "id": "5a23c84252665b21eecc801c", "title": "Spiral matrix" @@ -18747,8 +17185,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/split-a-character-string-based-on-change-of-character", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/split-a-character-string-based-on-change-of-character" }, "id": "5a23c84252665b21eecc801d", "title": "Split a character string based on change of character" @@ -18759,8 +17196,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/state-name-puzzle", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/state-name-puzzle" }, "id": "5a23c84252665b21eecc8024", "title": "State name puzzle" @@ -18771,8 +17207,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/stern-brocot-sequence", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/stern-brocot-sequence" }, "id": "5a23c84252665b21eecc8028", "title": "Stern-Brocot sequence" @@ -18783,8 +17218,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/straddling-checkerboard", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/straddling-checkerboard" }, "id": "5a23c84252665b21eecc8029", "title": "Straddling checkerboard" @@ -18795,8 +17229,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/stream-merge", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/stream-merge" }, "id": "5a23c84252665b21eecc802a", "title": "Stream Merge" @@ -18807,8 +17240,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/strip-control-codes-and-extended-characters-from-a-string", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/strip-control-codes-and-extended-characters-from-a-string" }, "id": "5a23c84252665b21eecc8036", "title": "Strip control codes and extended characters from a string" @@ -18819,8 +17251,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/subleq", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/subleq" }, "id": "5a23c84252665b21eecc8038", "title": "Subleq" @@ -18831,8 +17262,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sudoku", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sudoku" }, "id": "5a23c84252665b21eecc803c", "title": "Sudoku" @@ -18843,8 +17273,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sum-digits-of-an-integer", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sum-digits-of-an-integer" }, "id": "5a23c84252665b21eecc803f", "title": "Sum digits of an integer" @@ -18855,8 +17284,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sum-multiples-of-3-and-5", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sum-multiples-of-3-and-5" }, "id": "5a23c84252665b21eecc8040", "title": "Sum multiples of 3 and 5" @@ -18867,8 +17295,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sum-of-a-series", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sum-of-a-series" }, "id": "5a23c84252665b21eecc8041", "title": "Sum of a series" @@ -18879,8 +17306,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sum-of-squares", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sum-of-squares" }, "id": "5a23c84252665b21eecc8042", "title": "Sum of squares" @@ -18891,8 +17317,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sum-to-100", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sum-to-100" }, "id": "5a23c84252665b21eecc8043", "title": "Sum to 100" @@ -18903,8 +17328,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/sutherland-hodgman-polygon-clipping", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/sutherland-hodgman-polygon-clipping" }, "id": "5a23c84252665b21eecc8045", "title": "Sutherland-Hodgman polygon clipping" @@ -18915,8 +17339,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/symmetric-difference", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/symmetric-difference" }, "id": "5a23c84252665b21eecc8046", "title": "Symmetric difference" @@ -18927,8 +17350,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/taxicab-numbers", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/taxicab-numbers" }, "id": "594ecc0d9a8cf816e3340187", "title": "Taxicab numbers" @@ -18939,8 +17361,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/tokenize-a-string-with-escaping", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/tokenize-a-string-with-escaping" }, "id": "594faaab4e2a8626833e9c3d", "title": "Tokenize a string with escaping" @@ -18951,8 +17372,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/top-rank-per-group", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/top-rank-per-group" }, "id": "595011cba5a81735713873bd", "title": "Top rank per group" @@ -18963,8 +17383,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/topological-sort", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/topological-sort" }, "id": "594fa2746886f41f7d8bf225", "title": "Topological sort" @@ -18975,8 +17394,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/towers-of-hanoi", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/towers-of-hanoi" }, "id": "5951ed8945deab770972ae56", "title": "Towers of Hanoi" @@ -18987,8 +17405,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/vector-cross-product", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/vector-cross-product" }, "id": "594810f028c0303b75339ad2", "title": "Vector cross product" @@ -18999,8 +17416,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/vector-dot-product", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/vector-dot-product" }, "id": "594810f028c0303b75339ad3", "title": "Vector dot product" @@ -19011,8 +17427,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/word-frequency", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/word-frequency" }, "id": "5e94a54cc7b022105bf0fd2c", "title": "Word frequency" @@ -19023,8 +17438,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/word-wrap", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/word-wrap" }, "id": "594810f028c0303b75339ad4", "title": "Word wrap" @@ -19035,8 +17449,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/y-combinator", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/y-combinator" }, "id": "594810f028c0303b75339ad5", "title": "Y combinator" @@ -19047,8 +17460,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/zeckendorf-number-representation", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/zeckendorf-number-representation" }, "id": "594810f028c0303b75339ad6", "title": "Zeckendorf number representation" @@ -19059,8 +17471,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/zhang-suen-thinning-algorithm", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/zhang-suen-thinning-algorithm" }, "id": "594810f028c0303b75339ad7", "title": "Zhang-Suen thinning algorithm" @@ -19071,8 +17482,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/rosetta-code/zig-zag-matrix", - "blockName": "Rosetta Code" + "slug": "/learn/coding-interview-prep/rosetta-code/zig-zag-matrix" }, "id": "594810f028c0303b75339ad8", "title": "Zig-zag matrix" @@ -19083,8 +17493,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-freecodecamp-forum-homepage", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-freecodecamp-forum-homepage" }, "id": "bd7156d8c242eddfaeb5bd13", "title": "Build a freeCodeCamp Forum Homepage" @@ -19095,8 +17504,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-light-bright-app", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-light-bright-app" }, "id": "5a5d02bd919fcf9ca8cf46cb", "title": "Build a Light-Bright App" @@ -19107,8 +17515,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-nightlife-coordination-app", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-nightlife-coordination-app" }, "id": "bd7158d8c443eddfaeb5bdff", "title": "Build a Nightlife Coordination App" @@ -19119,8 +17526,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-pinterest-clone", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-pinterest-clone" }, "id": "bd7158d8c443eddfaeb5bdee", "title": "Build a Pinterest Clone" @@ -19131,8 +17537,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-pong-game", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-pong-game" }, "id": "5a4b7fcdb66f799f199e11db", "title": "Build a Pong Game" @@ -19143,8 +17548,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-recipe-box", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-recipe-box" }, "id": "bd7155d8c242eddfaeb5bd13", "title": "Build a Recipe Box" @@ -19155,8 +17559,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-roguelike-dungeon-crawler-game", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-roguelike-dungeon-crawler-game" }, "id": "bd7153d8c242eddfaeb5bd13", "title": "Build a Roguelike Dungeon Crawler Game" @@ -19167,8 +17570,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-memory-light-game", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-memory-light-game" }, "id": "bd7158d8c442eddfaeb5bd1c", "title": "Build a Memory Light Game" @@ -19179,8 +17581,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-tic-tac-toe-game", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-tic-tac-toe-game" }, "id": "bd7158d8c442eedfaeb5bd1c", "title": "Build a Tic Tac Toe Game" @@ -19191,8 +17592,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-voting-app", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-voting-app" }, "id": "bd7158d8c443eddfaeb5bdef", "title": "Build a Voting App" @@ -19203,8 +17603,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-a-wikipedia-viewer", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-a-wikipedia-viewer" }, "id": "bd7158d8c442eddfaeb5bd19", "title": "Build a Wikipedia Viewer" @@ -19215,8 +17614,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-an-image-search-abstraction-layer", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-an-image-search-abstraction-layer" }, "id": "bd7158d8c443edefaeb5bdee", "title": "Build an Image Search Abstraction Layer" @@ -19227,8 +17625,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/build-the-game-of-life", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/build-the-game-of-life" }, "id": "bd7154d8c242eddfaeb5bd13", "title": "Build the Game of Life" @@ -19239,8 +17636,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/chart-the-stock-market", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/chart-the-stock-market" }, "id": "bd7158d8c443eddfaeb5bd0e", "title": "Chart the Stock Market" @@ -19251,8 +17647,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/manage-a-book-trading-club", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/manage-a-book-trading-club" }, "id": "bd7158d8c443eddfaeb5bd0f", "title": "Manage a Book Trading Club" @@ -19263,8 +17658,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/map-data-across-the-globe", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/map-data-across-the-globe" }, "id": "bd7108d8c242eddfaeb5bd13", "title": "Map Data Across the Globe" @@ -19275,8 +17669,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/p2p-video-chat-application", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/p2p-video-chat-application" }, "id": "bd7150d8c442eddfafb5bd1c", "title": "P2P Video Chat Application" @@ -19287,8 +17680,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/show-national-contiguity-with-a-force-directed-graph", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/show-national-contiguity-with-a-force-directed-graph" }, "id": "bd7198d8c242eddfaeb5bd13", "title": "Show National Contiguity with a Force Directed Graph" @@ -19299,8 +17691,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/show-the-local-weather", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/show-the-local-weather" }, "id": "bd7158d8c442eddfaeb5bd10", "title": "Show the Local Weather" @@ -19311,8 +17702,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/coding-interview-prep/take-home-projects/use-the-twitch-json-api", - "blockName": "Take Home Projects" + "slug": "/learn/coding-interview-prep/take-home-projects/use-the-twitch-json-api" }, "id": "bd7158d8c442eddfaeb5bd1f", "title": "Use the Twitch JSON API" @@ -19323,8 +17713,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/how-neural-networks-work/deep-learning-demystified", - "blockName": "How Neural Networks Work" + "slug": "/learn/machine-learning-with-python/how-neural-networks-work/deep-learning-demystified" }, "id": "5e9a0e9ef99a403d019610cc", "title": "Deep Learning Demystified" @@ -19335,8 +17724,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/how-neural-networks-work/how-convolutional-neural-networks-work", - "blockName": "How Neural Networks Work" + "slug": "/learn/machine-learning-with-python/how-neural-networks-work/how-convolutional-neural-networks-work" }, "id": "5e9a0e9ef99a403d019610cd", "title": "How Convolutional Neural Networks work" @@ -19347,8 +17735,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/how-neural-networks-work/how-deep-neural-networks-work", - "blockName": "How Neural Networks Work" + "slug": "/learn/machine-learning-with-python/how-neural-networks-work/how-deep-neural-networks-work" }, "id": "5e9a0e9ef99a403d019610ca", "title": "How Deep Neural Networks Work" @@ -19359,8 +17746,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/how-neural-networks-work/recurrent-neural-networks-rnn-and-long-short-term-memory-lstm", - "blockName": "How Neural Networks Work" + "slug": "/learn/machine-learning-with-python/how-neural-networks-work/recurrent-neural-networks-rnn-and-long-short-term-memory-lstm" }, "id": "5e9a0e9ef99a403d019610cb", "title": "Recurrent Neural Networks RNN and Long Short Term Memory LSTM" @@ -19371,8 +17757,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/book-recommendation-engine-using-knn", - "blockName": "Machine Learning with Python Projects" + "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/book-recommendation-engine-using-knn" }, "id": "5e46f8e3ac417301a38fb92f", "title": "Book Recommendation Engine using KNN" @@ -19383,8 +17768,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/cat-and-dog-image-classifier", - "blockName": "Machine Learning with Python Projects" + "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/cat-and-dog-image-classifier" }, "id": "5e46f8dcac417301a38fb92e", "title": "Cat and Dog Image Classifier" @@ -19395,8 +17779,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/linear-regression-health-costs-calculator", - "blockName": "Machine Learning with Python Projects" + "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/linear-regression-health-costs-calculator" }, "id": "5e46f8edac417301a38fb930", "title": "Linear Regression Health Costs Calculator" @@ -19407,8 +17790,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/neural-network-sms-text-classifier", - "blockName": "Machine Learning with Python Projects" + "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/neural-network-sms-text-classifier" }, "id": "5e46f8edac417301a38fb931", "title": "Neural Network SMS Text Classifier" @@ -19419,8 +17801,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/rock-paper-scissors", - "blockName": "Machine Learning with Python Projects" + "slug": "/learn/machine-learning-with-python/machine-learning-with-python-projects/rock-paper-scissors" }, "id": "5e46f8d6ac417301a38fb92d", "title": "Rock Paper Scissors" @@ -19431,8 +17812,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/conclusion", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/conclusion" }, "id": "5e8f2f13c4cdbe86b5c72da6", "title": "Conclusion" @@ -19443,8 +17823,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-evaluating-the-model", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-evaluating-the-model" }, "id": "5e8f2f13c4cdbe86b5c72d99", "title": "Convolutional Neural Networks: Evaluating the Model" @@ -19455,8 +17834,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-picking-a-pretrained-model", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-picking-a-pretrained-model" }, "id": "5e8f2f13c4cdbe86b5c72d9a", "title": "Convolutional Neural Networks: Picking a Pretrained Model" @@ -19467,8 +17845,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-the-convolutional-layer", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks-the-convolutional-layer" }, "id": "5e8f2f13c4cdbe86b5c72d97", "title": "Convolutional Neural Networks: The Convolutional Layer" @@ -19479,8 +17856,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/convolutional-neural-networks" }, "id": "5e8f2f13c4cdbe86b5c72d96", "title": "Convolutional Neural Networks" @@ -19491,8 +17867,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-building-the-model", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-building-the-model" }, "id": "5e8f2f13c4cdbe86b5c72d8e", "title": "Core Learning Algorithms: Building the Model" @@ -19503,8 +17878,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-classification", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-classification" }, "id": "5e8f2f13c4cdbe86b5c72d8d", "title": "Core Learning Algorithms: Classification" @@ -19515,8 +17889,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-clustering", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-clustering" }, "id": "5e8f2f13c4cdbe86b5c72d8f", "title": "Core Learning Algorithms: Clustering" @@ -19527,8 +17900,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-hidden-markov-models", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-hidden-markov-models" }, "id": "5e8f2f13c4cdbe86b5c72d90", "title": "Core Learning Algorithms: Hidden Markov Models" @@ -19539,8 +17911,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-the-training-process", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-the-training-process" }, "id": "5e8f2f13c4cdbe86b5c72d8c", "title": "Core Learning Algorithms: The Training Process" @@ -19551,8 +17922,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-training-and-testing-data", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-training-and-testing-data" }, "id": "5e8f2f13c4cdbe86b5c72d8b", "title": "Core Learning Algorithms: Training and Testing Data" @@ -19563,8 +17933,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-using-probabilities-to-make-predictions", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-using-probabilities-to-make-predictions" }, "id": "5e8f2f13c4cdbe86b5c72d91", "title": "Core Learning Algorithms: Using Probabilities to make Predictions" @@ -19575,8 +17944,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-working-with-data", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms-working-with-data" }, "id": "5e8f2f13c4cdbe86b5c72d8a", "title": "Core Learning Algorithms: Working with Data" @@ -19587,8 +17955,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/core-learning-algorithms" }, "id": "5e8f2f13c4cdbe86b5c72d89", "title": "Core Learning Algorithms" @@ -19599,8 +17966,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/creating-a-convolutional-neural-network", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/creating-a-convolutional-neural-network" }, "id": "5e8f2f13c4cdbe86b5c72d98", "title": "Creating a Convolutional Neural Network" @@ -19611,8 +17977,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/introduction-machine-learning-fundamentals", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/introduction-machine-learning-fundamentals" }, "id": "5e8f2f13c4cdbe86b5c72d87", "title": "Introduction: Machine Learning Fundamentals" @@ -19623,8 +17988,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/introduction-to-tensorflow", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/introduction-to-tensorflow" }, "id": "5e8f2f13c4cdbe86b5c72d88", "title": "Introduction to TensorFlow" @@ -19635,8 +17999,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-building-the-model", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-building-the-model" }, "id": "5e8f2f13c4cdbe86b5c72da1", "title": "Natural Language Processing With RNNs: Building the Model" @@ -19647,8 +18010,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-create-a-play-generator", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-create-a-play-generator" }, "id": "5e8f2f13c4cdbe86b5c72da0", "title": "Natural Language Processing With RNNs: Create a Play Generator" @@ -19659,8 +18021,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-making-predictions", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-making-predictions" }, "id": "5e8f2f13c4cdbe86b5c72d9f", "title": "Natural Language Processing With RNNs: Making Predictions" @@ -19671,8 +18032,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-part-2", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-part-2" }, "id": "5e8f2f13c4cdbe86b5c72d9c", "title": "Natural Language Processing With RNNs: Part 2" @@ -19683,8 +18043,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-recurring-neural-networks", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-recurring-neural-networks" }, "id": "5e8f2f13c4cdbe86b5c72d9d", "title": "Natural Language Processing With RNNs: Recurring Neural Networks" @@ -19695,8 +18054,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-sentiment-analysis", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-sentiment-analysis" }, "id": "5e8f2f13c4cdbe86b5c72d9e", "title": "Natural Language Processing With RNNs: Sentiment Analysis" @@ -19707,8 +18065,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-training-the-model", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-training-the-model" }, "id": "5e8f2f13c4cdbe86b5c72da2", "title": "Natural Language Processing With RNNs: Training the Model" @@ -19719,8 +18076,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/natural-language-processing-with-rnns" }, "id": "5e8f2f13c4cdbe86b5c72d9b", "title": "Natural Language Processing With RNNs" @@ -19731,8 +18087,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/neural-networks-activation-functions", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/neural-networks-activation-functions" }, "id": "5e8f2f13c4cdbe86b5c72d93", "title": "Neural Networks: Activation Functions" @@ -19743,8 +18098,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/neural-networks-creating-a-model", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/neural-networks-creating-a-model" }, "id": "5e8f2f13c4cdbe86b5c72d95", "title": "Neural Networks: Creating a Model" @@ -19755,8 +18109,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/neural-networks-optimizers", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/neural-networks-optimizers" }, "id": "5e8f2f13c4cdbe86b5c72d94", "title": "Neural Networks: Optimizers" @@ -19767,8 +18120,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/neural-networks-with-tensorflow", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/neural-networks-with-tensorflow" }, "id": "5e8f2f13c4cdbe86b5c72d92", "title": "Neural Networks with TensorFlow" @@ -19779,8 +18131,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-example", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-example" }, "id": "5e8f2f13c4cdbe86b5c72da5", "title": "Reinforcement Learning With Q-Learning: Example" @@ -19791,8 +18142,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-part-2", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-part-2" }, "id": "5e8f2f13c4cdbe86b5c72da4", "title": "Reinforcement Learning With Q-Learning: Part 2" @@ -19803,8 +18153,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning", - "blockName": "TensorFlow" + "slug": "/learn/machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning" }, "id": "5e8f2f13c4cdbe86b5c72da3", "title": "Reinforcement Learning With Q-Learning" @@ -19815,8 +18164,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/build-a-celestial-bodies-database-project/build-a-celestial-bodies-database", - "blockName": "Build A Celestial Bodies Database Project" + "slug": "/learn/relational-database/build-a-celestial-bodies-database-project/build-a-celestial-bodies-database" }, "id": "5f1a4ef5d5d6b5ab580fc6ae", "title": "Build a Celestial Bodies Database" @@ -19827,8 +18175,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/build-a-number-guessing-game-project/build-a-number-guessing-game", - "blockName": "Build A Number Guessing Game Project" + "slug": "/learn/relational-database/build-a-number-guessing-game-project/build-a-number-guessing-game" }, "id": "602da04c22201c65d2a019f4", "title": "Build a Number Guessing Game" @@ -19839,8 +18186,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/build-a-periodic-table-database-project/build-a-periodic-table-database", - "blockName": "Build A Periodic Table Database Project" + "slug": "/learn/relational-database/build-a-periodic-table-database-project/build-a-periodic-table-database" }, "id": "602d9ff222201c65d2a019f2", "title": "Build a Periodic Table Database" @@ -19851,8 +18197,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/build-a-salon-appointment-scheduler-project/build-a-salon-appointment-scheduler", - "blockName": "Build A Salon Appointment Scheduler Project" + "slug": "/learn/relational-database/build-a-salon-appointment-scheduler-project/build-a-salon-appointment-scheduler" }, "id": "5f87ac112ae598023a42df1a", "title": "Build a Salon Appointment Scheduler" @@ -19863,8 +18208,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/build-a-world-cup-database-project/build-a-world-cup-database", - "blockName": "Build A World Cup Database Project" + "slug": "/learn/relational-database/build-a-world-cup-database-project/build-a-world-cup-database" }, "id": "5f9771307d4d22b9d2b75a94", "title": "Build a World Cup Database" @@ -19875,8 +18219,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/learn-advanced-bash-by-building-a-kitty-ipsum-translator/build-a-kitty-ipsum-translator", - "blockName": "Learn Advanced Bash By Building A Kitty Ipsum Translator" + "slug": "/learn/relational-database/learn-advanced-bash-by-building-a-kitty-ipsum-translator/build-a-kitty-ipsum-translator" }, "id": "602da0de22201c65d2a019f6", "title": "Build a Kitty Ipsum Translator" @@ -19887,8 +18230,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/learn-bash-and-sql-by-building-a-bike-rental-shop/build-a-bike-rental-shop", - "blockName": "Learn Bash and Sql By Building A Bike Rental Shop" + "slug": "/learn/relational-database/learn-bash-and-sql-by-building-a-bike-rental-shop/build-a-bike-rental-shop" }, "id": "5f5b969a05380d2179fe6e18", "title": "Build a Bike Rental Shop" @@ -19899,8 +18241,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/learn-bash-by-building-a-boilerplate/build-a-boilerplate", - "blockName": "Learn Bash By Building A Boilerplate" + "slug": "/learn/relational-database/learn-bash-by-building-a-boilerplate/build-a-boilerplate" }, "id": "5ea8adfab628f68d805bfc5e", "title": "Build a Boilerplate" @@ -19911,8 +18252,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/learn-bash-scripting-by-building-five-programs/build-five-programs", - "blockName": "Learn Bash Scripting By Building Five Programs" + "slug": "/learn/relational-database/learn-bash-scripting-by-building-five-programs/build-five-programs" }, "id": "5f5904ac738bc2fa9efecf5a", "title": "Build Five Programs" @@ -19923,8 +18263,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/learn-git-by-building-an-sql-reference-object/build-an-sql-reference-object", - "blockName": "Learn Git By Building An Sql Reference Object" + "slug": "/learn/relational-database/learn-git-by-building-an-sql-reference-object/build-an-sql-reference-object" }, "id": "5fa323cdaf6a73463d590659", "title": "Build an SQL Reference Object" @@ -19935,8 +18274,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/learn-nano-by-building-a-castle/build-a-castle", - "blockName": "Learn Nano By Building A Castle" + "slug": "/learn/relational-database/learn-nano-by-building-a-castle/build-a-castle" }, "id": "5f32db63eb37f7e17323f459", "title": "Build a Castle" @@ -19947,8 +18285,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/learn-relational-databases-by-building-a-mario-database/build-a-mario-database", - "blockName": "Learn Relational Databases By Building A Mario Database" + "slug": "/learn/relational-database/learn-relational-databases-by-building-a-mario-database/build-a-mario-database" }, "id": "5f2c289f164c29556da632fd", "title": "Build a Mario Database" @@ -19959,8 +18296,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/learn-sql-by-building-a-student-database-part-1/build-a-student-database-part-1", - "blockName": "Learn Sql By Building A Student Database Part 1" + "slug": "/learn/relational-database/learn-sql-by-building-a-student-database-part-1/build-a-student-database-part-1" }, "id": "602da0c222201c65d2a019f5", "title": "Build a Student Database: Part 1" @@ -19971,8 +18307,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/relational-database/learn-sql-by-building-a-student-database-part-2/build-a-student-database-part-2", - "blockName": "Learn Sql By Building A Student Database Part 2" + "slug": "/learn/relational-database/learn-sql-by-building-a-student-database-part-2/build-a-student-database-part-2" }, "id": "618590adb0730ca724e37672", "title": "Build a Student Database: Part 2" @@ -19983,8 +18318,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/build-a-personal-portfolio-webpage-project/build-a-personal-portfolio-webpage", - "blockName": "Build A Personal Portfolio Webpage Project" + "slug": "/learn/2022/responsive-web-design/build-a-personal-portfolio-webpage-project/build-a-personal-portfolio-webpage" }, "id": "bd7158d8c242eddfaeb5bd13", "title": "Build a Personal Portfolio Webpage" @@ -19995,8 +18329,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/build-a-product-landing-page-project/build-a-product-landing-page", - "blockName": "Build A Product Landing Page Project" + "slug": "/learn/2022/responsive-web-design/build-a-product-landing-page-project/build-a-product-landing-page" }, "id": "587d78af367417b2b2512b04", "title": "Build a Product Landing Page" @@ -20007,8 +18340,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/build-a-survey-form-project/build-a-survey-form", - "blockName": "Build A Survey Form Project" + "slug": "/learn/2022/responsive-web-design/build-a-survey-form-project/build-a-survey-form" }, "id": "587d78af367417b2b2512b03", "title": "Build a Survey Form" @@ -20019,8 +18351,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/build-a-technical-documentation-page-project/build-a-technical-documentation-page", - "blockName": "Build A Technical Documentation Page Project" + "slug": "/learn/2022/responsive-web-design/build-a-technical-documentation-page-project/build-a-technical-documentation-page" }, "id": "587d78b0367417b2b2512b05", "title": "Build a Technical Documentation Page" @@ -20031,8 +18362,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/build-a-tribute-page-project/build-a-tribute-page", - "blockName": "Build A Tribute Page Project" + "slug": "/learn/2022/responsive-web-design/build-a-tribute-page-project/build-a-tribute-page" }, "id": "bd7158d8c442eddfaeb5bd18", "title": "Build a Tribute Page" @@ -20043,8 +18373,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-2", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-2" }, "id": "613297a923965e0703b64796", "title": "Step 2" @@ -20055,8 +18384,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-3", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-3" }, "id": "61329b210dac0b08047fd6ab", "title": "Step 3" @@ -20067,8 +18395,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-4", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-4" }, "id": "61329d52e5010e08d9b9d66b", "title": "Step 4" @@ -20079,8 +18406,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-5", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-5" }, "id": "6133acc353338c0bba9cb553", "title": "Step 5" @@ -20091,8 +18417,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-6", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-6" }, "id": "6133d11ef548f51f876149e3", "title": "Step 6" @@ -20103,8 +18428,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-7", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-7" }, "id": "613e2546d0594208229ada50", "title": "Step 7" @@ -20115,8 +18439,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-8", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-8" }, "id": "613e275749ebd008e74bb62e", "title": "Step 8" @@ -20127,8 +18450,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-9", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-9" }, "id": "6140827cff96e906bd38fc2b", "title": "Step 9" @@ -20139,8 +18461,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-10", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-10" }, "id": "6140883f74224508174794c0", "title": "Step 10" @@ -20151,8 +18472,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-11", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-11" }, "id": "61408e4ae3e35d08feb260eb", "title": "Step 11" @@ -20163,8 +18483,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-12", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-12" }, "id": "61408f155e798909b6908712", "title": "Step 12" @@ -20175,8 +18494,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-13", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-13" }, "id": "614090d5a22b6f0a5a6b464c", "title": "Step 13" @@ -20187,8 +18505,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-14", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-14" }, "id": "6141fabd6f75610664e908fd", "title": "Step 14" @@ -20199,8 +18516,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-15", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-15" }, "id": "6141fed65b61320743da5894", "title": "Step 15" @@ -20211,8 +18527,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-16", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-16" }, "id": "614202874ca576084fca625f", "title": "Step 16" @@ -20223,8 +18538,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-17", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-17" }, "id": "614206033d366c090ca7dd42", "title": "Step 17" @@ -20235,8 +18549,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-18", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-18" }, "id": "61435e3c0679a306c20f1acc", "title": "Step 18" @@ -20247,8 +18560,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-19", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-19" }, "id": "6143610161323a081b249c19", "title": "Step 19" @@ -20259,8 +18571,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-20", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-20" }, "id": "6143639d5eddc7094161648c", "title": "Step 20" @@ -20271,8 +18582,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-21", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-21" }, "id": "6143908b6aafb00a659ca189", "title": "Step 21" @@ -20283,8 +18593,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-22", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-22" }, "id": "6143920c8eafb00b735746ce", "title": "Step 22" @@ -20295,8 +18604,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-23", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-23" }, "id": "6143931a113bb80c45546287", "title": "Step 23" @@ -20307,8 +18615,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-24", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-24" }, "id": "614394fb41985e0d2012a93e", "title": "Step 24" @@ -20319,8 +18626,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-25", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-25" }, "id": "6143956ed76ed60e012faa51", "title": "Step 25" @@ -20331,8 +18637,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-26", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-26" }, "id": "614396f7ae83f20ea6f9f4b3", "title": "Step 26" @@ -20343,8 +18648,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-27", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-27" }, "id": "6143cb26f7edff2dc28f7da5", "title": "Step 27" @@ -20355,8 +18659,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-28", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-28" }, "id": "6144e818fd5ea704fe56081d", "title": "Step 28" @@ -20367,8 +18670,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-29", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-29" }, "id": "6144f8dc6849e405dd8bb829", "title": "Step 29" @@ -20379,8 +18681,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-30", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-30" }, "id": "6145e6eeaa66c605eb087fe9", "title": "Step 30" @@ -20391,8 +18692,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-32", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-32" }, "id": "6145e8b5080a5f06bb0223d0", "title": "Step 32" @@ -20403,8 +18703,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-33", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-33" }, "id": "6145eb5f08a38a0786c7a80c", "title": "Step 33" @@ -20415,8 +18714,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-34", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-34" }, "id": "6145ed1f22caab087630aaad", "title": "Step 34" @@ -20427,8 +18725,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-35", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-35" }, "id": "6145ee65e2e1530938cb594d", "title": "Step 35" @@ -20439,8 +18736,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-36", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-36" }, "id": "6145f02240ff8f09f7ec913c", "title": "Step 36" @@ -20451,8 +18747,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-37", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-37" }, "id": "6145f14f019a4b0adb94b051", "title": "Step 37" @@ -20463,8 +18758,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-38", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-38" }, "id": "6145f3a5cd9be60b9459cdd6", "title": "Step 38" @@ -20475,8 +18769,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-39", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-39" }, "id": "6145f47393fbe70c4d885f9c", "title": "Step 39" @@ -20487,8 +18780,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-40", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-40" }, "id": "6145f59029474c0d3dc1c8b8", "title": "Step 40" @@ -20499,8 +18791,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-41", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-41" }, "id": "6145f685797bd30df9784e8c", "title": "Step 41" @@ -20511,8 +18802,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-42", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-42" }, "id": "6145f829ac6a920ebf5797d7", "title": "Step 42" @@ -20523,8 +18813,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-43", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-43" }, "id": "6145f8f8bcd4370f6509078e", "title": "Step 43" @@ -20535,8 +18824,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-44", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-44" }, "id": "6145fb5018cb5b100cb2a88c", "title": "Step 44" @@ -20547,8 +18835,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-45", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-45" }, "id": "6145fc3707fc3310c277f5c8", "title": "Step 45" @@ -20559,8 +18846,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-46", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-46" }, "id": "614796cb8086be482d60e0ac", "title": "Step 46" @@ -20571,8 +18857,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-47", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-47" }, "id": "6147a14ef5668b5881ef2297", "title": "Step 47" @@ -20583,8 +18868,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-48", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-48" }, "id": "614878f7a412310647873015", "title": "Step 48" @@ -20595,8 +18879,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-49", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-49" }, "id": "61487b77d4a37707073a64e5", "title": "Step 49" @@ -20607,8 +18890,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-50", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-50" }, "id": "61487da611a65307e78d2c20", "title": "Step 50" @@ -20619,8 +18901,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-51", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-51" }, "id": "61487f703571b60899055cf9", "title": "Step 51" @@ -20631,8 +18912,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-52", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-52" }, "id": "614880dc16070e093e29bc56", "title": "Step 52" @@ -20643,8 +18923,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-53", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-53" }, "id": "614883b6fa720e09fb167de9", "title": "Step 53" @@ -20655,8 +18934,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-54", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-54" }, "id": "614884c1f5d6f30ab3d78cde", "title": "Step 54" @@ -20667,8 +18945,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-55", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-55" }, "id": "61488ecfd05e290b5712e6da", "title": "Step 55" @@ -20679,8 +18956,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-56", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-56" }, "id": "6148d99cdc7acd0c519862cb", "title": "Step 56" @@ -20691,8 +18967,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-57", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-57" }, "id": "6148da157cc0bd0d06df5c0a", "title": "Step 57" @@ -20703,8 +18978,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-58", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-58" }, "id": "6148dc095264000dce348bf5", "title": "Step 58" @@ -20715,8 +18989,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-59", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-59" }, "id": "6148dcaaf2e8750e6cb4501a", "title": "Step 59" @@ -20727,8 +19000,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-60", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-60" }, "id": "6148dd31d210990f0fb140f8", "title": "Step 60" @@ -20739,8 +19011,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-61", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-61" }, "id": "6148defa9c01520fb9d178a0", "title": "Step 61" @@ -20751,8 +19022,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-62", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-62" }, "id": "6148dfab9b54c110577de165", "title": "Step 62" @@ -20763,8 +19033,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-63", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-63" }, "id": "6148e0bcc13efd10f7d7a6a9", "title": "Step 63" @@ -20775,8 +19044,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-64", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-64" }, "id": "6148e161ecec9511941f8833", "title": "Step 64" @@ -20787,8 +19055,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-65", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-65" }, "id": "6148e28706b34912340fd042", "title": "Step 65" @@ -20799,8 +19066,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-66", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-66" }, "id": "6148e335c1edd512d00e4691", "title": "Step 66" @@ -20811,8 +19077,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-67", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-67" }, "id": "6148e41c728f65138addf9cc", "title": "Step 67" @@ -20823,8 +19088,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-68", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-68" }, "id": "6148e5aeb102e3142de026a2", "title": "Step 68" @@ -20835,8 +19099,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-1", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-1" }, "id": "614ccc21ea91ef1736b9b578", "title": "Step 1" @@ -20847,8 +19110,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-31", - "blockName": "Learn Accessibility by Building a Quiz" + "slug": "/learn/2022/responsive-web-design/learn-accessibility-by-building-a-quiz/step-31" }, "id": "6351e7a8684bf5377c4ee7f7", "title": "Step 31" @@ -20859,8 +19121,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-1", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-1" }, "id": "5f33071498eb2472b87ddee4", "title": "Step 1" @@ -20871,8 +19132,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-2", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-2" }, "id": "5f3313e74582ad9d063e3a38", "title": "Step 2" @@ -20883,8 +19143,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-3", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-3" }, "id": "5f331e55dfab7a896e53c3a1", "title": "Step 3" @@ -20895,8 +19154,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-4", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-4" }, "id": "5f3326b143638ee1a09ff1e3", "title": "Step 4" @@ -20907,8 +19165,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-5", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-5" }, "id": "5f33294a6af5e9188dbdb8f3", "title": "Step 5" @@ -20919,8 +19176,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-6", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-6" }, "id": "5f332a88dc25a0fd25c7687a", "title": "Step 6" @@ -20931,8 +19187,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-7", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-7" }, "id": "5f332b23c2045fb843337579", "title": "Step 7" @@ -20943,8 +19198,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-11", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-11" }, "id": "5f344f9c805cd193c33d829c", "title": "Step 11" @@ -20955,8 +19209,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-10", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-10" }, "id": "5f344fad8bf01691e71a30eb", "title": "Step 10" @@ -20967,8 +19220,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-9", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-9" }, "id": "5f344fbc22624a2976425065", "title": "Step 9" @@ -20979,8 +19231,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-8", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-8" }, "id": "5f344fc1520b6719f2e35605", "title": "Step 8" @@ -20991,8 +19242,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-13", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-13" }, "id": "5f3477ae34c1239cafe128be", "title": "Step 13" @@ -21003,8 +19253,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-15", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-15" }, "id": "5f3477ae8466a9a3d2cc953c", "title": "Step 15" @@ -21015,8 +19264,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-12", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-12" }, "id": "5f3477ae9675db8bb7655b30", "title": "Step 12" @@ -21027,8 +19275,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-14", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-14" }, "id": "5f3477aefa51bfc29327200b", "title": "Step 14" @@ -21039,8 +19286,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-16", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-16" }, "id": "5f3477cb2e27333b1ab2b955", "title": "Step 16" @@ -21051,8 +19297,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-18", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-18" }, "id": "5f3477cb303c5cb61b43aa9b", "title": "Step 18" @@ -21063,8 +19308,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-17", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-17" }, "id": "5f3477cbcb6ba47918c1da92", "title": "Step 17" @@ -21075,8 +19319,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-19", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-19" }, "id": "5f34a1fd611d003edeafd681", "title": "Step 19" @@ -21087,8 +19330,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-24", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-24" }, "id": "5f356ed60785e1f3e9850b6e", "title": "Step 24" @@ -21099,8 +19341,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-22", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-22" }, "id": "5f356ed60a5decd94ab66986", "title": "Step 22" @@ -21111,8 +19352,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-26", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-26" }, "id": "5f356ed6199b0cdef1d2be8f", "title": "Step 26" @@ -21123,8 +19363,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-21", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-21" }, "id": "5f356ed63c7807a4f1e6d054", "title": "Step 21" @@ -21135,8 +19374,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-23", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-23" }, "id": "5f356ed63e0fa262326eef05", "title": "Step 23" @@ -21147,8 +19385,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-25", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-25" }, "id": "5f356ed656a336993abd9f7c", "title": "Step 25" @@ -21159,8 +19396,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-27", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-27" }, "id": "5f356ed69db0a491745e2bb6", "title": "Step 27" @@ -21171,8 +19407,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-20", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-20" }, "id": "5f356ed6cf6eab5f15f5cfe6", "title": "Step 20" @@ -21183,8 +19418,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-29", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-29" }, "id": "5f35e5c4321f818cdc4bed30", "title": "Step 29" @@ -21195,8 +19429,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-28", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-28" }, "id": "5f35e5c44359872a137bd98f", "title": "Step 28" @@ -21207,8 +19440,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-38", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-38" }, "id": "5f3c866d0fc037f7311b4ac8", "title": "Step 38" @@ -21219,8 +19451,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-32", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-32" }, "id": "5f3c866d28d7ad0de6470505", "title": "Step 32" @@ -21231,8 +19462,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-31", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-31" }, "id": "5f3c866d5414453fc2d7b480", "title": "Step 31" @@ -21243,8 +19473,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-30", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-30" }, "id": "5f3c866daec9a49519871816", "title": "Step 30" @@ -21255,8 +19484,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-37", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-37" }, "id": "5f3c866dbf362f99b9a0c6d0", "title": "Step 37" @@ -21267,8 +19495,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-39", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-39" }, "id": "5f3c866dd0d0275f01d4d847", "title": "Step 39" @@ -21279,8 +19506,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-36", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-36" }, "id": "5f3c866de7a5b784048f94b1", "title": "Step 36" @@ -21291,8 +19517,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-41", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-41" }, "id": "5f3cade94c6576e7f7b7953f", "title": "Step 41" @@ -21303,8 +19528,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-42", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-42" }, "id": "5f3cade9993019e26313fa8e", "title": "Step 42" @@ -21315,8 +19539,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-46", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-46" }, "id": "5f3cade99dda4e6071a85dfd", "title": "Step 46" @@ -21327,8 +19550,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-40", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-40" }, "id": "5f3cade9fa77275d9f4efe62", "title": "Step 40" @@ -21339,8 +19561,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-66", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-66" }, "id": "5f3ef6e01f288a026d709587", "title": "Step 66" @@ -21351,8 +19572,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-56", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-56" }, "id": "5f3ef6e03d719d5ac4738993", "title": "Step 56" @@ -21363,8 +19583,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-55", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-55" }, "id": "5f3ef6e04559b939080db057", "title": "Step 55" @@ -21375,8 +19594,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-54", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-54" }, "id": "5f3ef6e050279c7a4a7101d3", "title": "Step 54" @@ -21387,8 +19605,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-57", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-57" }, "id": "5f3ef6e05473f91f948724ab", "title": "Step 57" @@ -21399,8 +19616,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-58", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-58" }, "id": "5f3ef6e056bdde6ae6892ba2", "title": "Step 58" @@ -21411,8 +19627,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-60", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-60" }, "id": "5f3ef6e06d34faac0447fc44", "title": "Step 60" @@ -21423,8 +19638,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-63", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-63" }, "id": "5f3ef6e07276f782bb46b93d", "title": "Step 63" @@ -21435,8 +19649,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-48", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-48" }, "id": "5f3ef6e0819d4f23ca7285e6", "title": "Step 48" @@ -21447,8 +19660,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-61", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-61" }, "id": "5f3ef6e087d56ed3ffdc36be", "title": "Step 61" @@ -21459,8 +19671,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-64", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-64" }, "id": "5f3ef6e0a81099d9a697b550", "title": "Step 64" @@ -21471,8 +19682,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-65", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-65" }, "id": "5f3ef6e0b431cc215bb16f55", "title": "Step 65" @@ -21483,8 +19693,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-47", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-47" }, "id": "5f3ef6e0e0c3feaebcf647ad", "title": "Step 47" @@ -21495,8 +19704,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-59", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-59" }, "id": "5f3ef6e0e9629bad967cd71e", "title": "Step 59" @@ -21507,8 +19715,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-53", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-53" }, "id": "5f3ef6e0eaa7da26e3d34d78", "title": "Step 53" @@ -21519,8 +19726,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-62", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-62" }, "id": "5f3ef6e0f8c230bdd2349716", "title": "Step 62" @@ -21531,8 +19737,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-67", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-67" }, "id": "5f3f26fa39591db45e5cd7a0", "title": "Step 67" @@ -21543,8 +19748,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-68", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-68" }, "id": "5f459225127805351a6ad057", "title": "Step 68" @@ -21555,8 +19759,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-69", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-69" }, "id": "5f459a7ceb8b5c446656d88b", "title": "Step 69" @@ -21567,8 +19770,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-70", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-70" }, "id": "5f459cf202c2a3472fae6a9f", "title": "Step 70" @@ -21579,8 +19781,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-71", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-71" }, "id": "5f459fd48bdc98491ca6d1a3", "title": "Step 71" @@ -21591,8 +19792,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-72", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-72" }, "id": "5f45a05977e2fa49d9119437", "title": "Step 72" @@ -21603,8 +19803,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-73", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-73" }, "id": "5f45a276c093334f0f6e9df4", "title": "Step 73" @@ -21615,8 +19814,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-74", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-74" }, "id": "5f45a5a7c49a8251f0bdb527", "title": "Step 74" @@ -21627,8 +19825,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-78", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-78" }, "id": "5f45a66d4a2b0453301e5a26", "title": "Step 78" @@ -21639,8 +19836,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-79", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-79" }, "id": "5f45b0731d39e15d54df4dfc", "title": "Step 79" @@ -21651,8 +19847,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-80", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-80" }, "id": "5f45b25e7ec2405f166b9de1", "title": "Step 80" @@ -21663,8 +19858,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-81", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-81" }, "id": "5f45b3c93c027860d9298dbd", "title": "Step 81" @@ -21675,8 +19869,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-82", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-82" }, "id": "5f45b45d099f3e621fbbb256", "title": "Step 82" @@ -21687,8 +19880,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-83", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-83" }, "id": "5f45b4c81cea7763550e40df", "title": "Step 83" @@ -21699,8 +19891,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-84", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-84" }, "id": "5f45b715301bbf667badc04a", "title": "Step 84" @@ -21711,8 +19902,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-85", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-85" }, "id": "5f46e270702a8456a664f0df", "title": "Step 85" @@ -21723,8 +19913,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-86", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-86" }, "id": "5f46e36e745ead58487aabf2", "title": "Step 86" @@ -21735,8 +19924,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-87", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-87" }, "id": "5f46e7a4750dd05b5a673920", "title": "Step 87" @@ -21747,8 +19935,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-88", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-88" }, "id": "5f46e8284aae155c83015dee", "title": "Step 88" @@ -21759,8 +19946,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-77", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-77" }, "id": "5f46ede1ff8fec5ba656b44c", "title": "Step 77" @@ -21771,8 +19957,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-75", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-75" }, "id": "5f46fc57528aa1c4b5ea7c2e", "title": "Step 75" @@ -21783,8 +19968,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-76", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-76" }, "id": "5f4701b942c824109626c3d8", "title": "Step 76" @@ -21795,8 +19979,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-89", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-89" }, "id": "5f475bb508746c16c9431d42", "title": "Step 89" @@ -21807,8 +19990,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-90", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-90" }, "id": "5f475e1c7f71a61d913836c6", "title": "Step 90" @@ -21819,8 +20001,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-45", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-45" }, "id": "5f47633757ae3469f2d33d2e", "title": "Step 45" @@ -21831,8 +20012,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-91", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-91" }, "id": "5f47fe7e31980053a8d4403b", "title": "Step 91" @@ -21843,8 +20023,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-49", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-49" }, "id": "5f716ad029ee4053c7027a7a", "title": "Step 49" @@ -21855,8 +20034,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-52", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-52" }, "id": "5f716bee5838c354c728a7c5", "title": "Step 52" @@ -21867,8 +20045,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-43", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-43" }, "id": "5f7691dafd882520797cd2f0", "title": "Step 43" @@ -21879,8 +20056,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-44", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-44" }, "id": "5f7692f7c5b3ce22a57788b6", "title": "Step 44" @@ -21891,8 +20067,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-33", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-33" }, "id": "5f769541be494f25449b292f", "title": "Step 33" @@ -21903,8 +20078,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-34", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-34" }, "id": "5f76967fad478126d6552b0d", "title": "Step 34" @@ -21915,8 +20089,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-35", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-35" }, "id": "5f769702e6e33127d14aa120", "title": "Step 35" @@ -21927,8 +20100,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-50", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-50" }, "id": "5f7b87422a560036fd03ccff", "title": "Step 50" @@ -21939,8 +20111,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-51", - "blockName": "Learn Basic CSS by Building a Cafe Menu" + "slug": "/learn/2022/responsive-web-design/learn-basic-css-by-building-a-cafe-menu/step-51" }, "id": "5f7b88d37b1f98386f04edc0", "title": "Step 51" @@ -21951,8 +20122,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-1", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-1" }, "id": "6140c7e645d8e905819f1dd4", "title": "Step 1" @@ -21963,8 +20133,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-2", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-2" }, "id": "6140c9d35015ae0ba0c250e8", "title": "Step 2" @@ -21975,8 +20144,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-3", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-3" }, "id": "6140cbeec34e970dfe75e710", "title": "Step 3" @@ -21987,8 +20155,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-4", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-4" }, "id": "6140cd32d018ed0f600eefce", "title": "Step 4" @@ -21999,8 +20166,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-6", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-6" }, "id": "6140cdebd39d6a101e747529", "title": "Step 6" @@ -22011,8 +20177,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-7", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-7" }, "id": "6140cfc08ca9c5128c3e6478", "title": "Step 7" @@ -22023,8 +20188,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-8", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-8" }, "id": "6140d0069049f5139d78da40", "title": "Step 8" @@ -22035,8 +20199,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-9", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-9" }, "id": "6140d10d50636e14695013b2", "title": "Step 9" @@ -22047,8 +20210,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-10", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-10" }, "id": "6140d1a351e88f159ed54fca", "title": "Step 10" @@ -22059,8 +20221,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-11", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-11" }, "id": "6140d263016325162fd076fe", "title": "Step 11" @@ -22071,8 +20232,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-12", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-12" }, "id": "6140d2b687a2cd17bac5730c", "title": "Step 12" @@ -22083,8 +20243,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-13", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-13" }, "id": "6140d36b8b747718b50d4b7a", "title": "Step 13" @@ -22095,8 +20254,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-14", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-14" }, "id": "6140d3dc359b371b1a21d783", "title": "Step 14" @@ -22107,8 +20265,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-15", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-15" }, "id": "6140d4bc9db3c81c51a09ab7", "title": "Step 15" @@ -22119,8 +20276,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-16", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-16" }, "id": "6140d94b5fab7f1d73c9bedb", "title": "Step 16" @@ -22131,8 +20287,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-17", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-17" }, "id": "6140dc5e13d0c81e7496f182", "title": "Step 17" @@ -22143,8 +20298,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-18", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-18" }, "id": "6140dd77e0bc5a1f70bd7466", "title": "Step 18" @@ -22155,8 +20309,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-19", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-19" }, "id": "6140de31b1f5b420410728ff", "title": "Step 19" @@ -22167,8 +20320,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-20", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-20" }, "id": "6140df547f09402144e40b92", "title": "Step 20" @@ -22179,8 +20331,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-21", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-21" }, "id": "6140e0d875ec16262f26432b", "title": "Step 21" @@ -22191,8 +20342,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-22", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-22" }, "id": "6140f4b5c1555a2960de1e5f", "title": "Step 22" @@ -22203,8 +20353,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-23", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-23" }, "id": "614100d7d335bb2a5ff74f1f", "title": "Step 23" @@ -22215,8 +20364,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-24", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-24" }, "id": "61410126fa3a6d2b3cda502e", "title": "Step 24" @@ -22227,8 +20375,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-25", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-25" }, "id": "6141019eadec6d2c6c6f007b", "title": "Step 25" @@ -22239,8 +20386,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-26", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-26" }, "id": "6141026ec9882f2d39dcf2b8", "title": "Step 26" @@ -22251,8 +20397,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-27", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-27" }, "id": "6169ab1aaeb4cd1174def700", "title": "Step 27" @@ -22263,8 +20408,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-28", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-28" }, "id": "6169b1357fcb701bb5efc619", "title": "Step 28" @@ -22275,8 +20419,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-29", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-29" }, "id": "6169b284950e171d8d0bb16a", "title": "Step 29" @@ -22287,8 +20430,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-5", - "blockName": "Learn CSS Animation by Building a Ferris Wheel" + "slug": "/learn/2022/responsive-web-design/learn-css-animation-by-building-a-ferris-wheel/step-5" }, "id": "617ace7d831f9c16a569b38a", "title": "Step 5" @@ -22299,8 +20441,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-1", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-1" }, "id": "61695197ac34f0407e339882", "title": "Step 1" @@ -22311,8 +20452,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-2", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-2" }, "id": "61695ab9f6ffe951c16d03dd", "title": "Step 2" @@ -22323,8 +20463,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-3", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-3" }, "id": "61695c4aad56f95497c19583", "title": "Step 3" @@ -22335,8 +20474,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-4", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-4" }, "id": "61695d1fbc003856628bf561", "title": "Step 4" @@ -22347,8 +20485,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-5", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-5" }, "id": "616965351e74d4689eb6de30", "title": "Step 5" @@ -22359,8 +20496,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-6", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-6" }, "id": "616968c2c94c8071b349c146", "title": "Step 6" @@ -22371,8 +20507,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-7", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-7" }, "id": "61696ef7ac756c829f9e4048", "title": "Step 7" @@ -22383,8 +20518,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-8", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-8" }, "id": "616971b3cd990186b66c99a1", "title": "Step 8" @@ -22395,8 +20529,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-9", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-9" }, "id": "616d3a67ccf800ad94ec89ae", "title": "Step 9" @@ -22407,8 +20540,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-10", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-10" }, "id": "616d47bc9eedc4bc7f621bec", "title": "Step 10" @@ -22419,8 +20551,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-11", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-11" }, "id": "616d4a84b756d9c4b8255093", "title": "Step 11" @@ -22431,8 +20562,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-12", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-12" }, "id": "616d50b93ba424d6282c99cf", "title": "Step 12" @@ -22443,8 +20573,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-13", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-13" }, "id": "616d525007b8c5d8b3308b1c", "title": "Step 13" @@ -22455,8 +20584,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-14", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-14" }, "id": "616d55bd160a95e22453a081", "title": "Step 14" @@ -22467,8 +20595,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-15", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-15" }, "id": "616d595270d902f0e7086e18", "title": "Step 15" @@ -22479,8 +20606,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-16", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-16" }, "id": "61764c602bee6974e7790f35", "title": "Step 16" @@ -22491,8 +20617,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-17", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-17" }, "id": "61764f23ea21477b76f3b80f", "title": "Step 17" @@ -22503,8 +20628,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-18", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-18" }, "id": "61764f7e5240eb7ccc7f6a0a", "title": "Step 18" @@ -22515,8 +20639,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-19", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-19" }, "id": "61764fdda535587e1fefb3aa", "title": "Step 19" @@ -22527,8 +20650,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-20", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-20" }, "id": "6176519636a76b810ab1219a", "title": "Step 20" @@ -22539,8 +20661,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-21", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-21" }, "id": "617b65579ce424bf5f02ca73", "title": "Step 21" @@ -22551,8 +20672,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-22", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-22" }, "id": "617b8b38f32bf2080a140675", "title": "Step 22" @@ -22563,8 +20683,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-23", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-23" }, "id": "617b8e0d93a8d10d9a90e720", "title": "Step 23" @@ -22575,8 +20694,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-24", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-24" }, "id": "617b92b9de349513466f6156", "title": "Step 24" @@ -22587,8 +20705,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-25", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-25" }, "id": "617b954d9f4f6217a749380e", "title": "Step 25" @@ -22599,8 +20716,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-26", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-26" }, "id": "617b97abd9f3f61d1590b815", "title": "Step 26" @@ -22611,8 +20727,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-27", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-27" }, "id": "617b9ad735109e217284e095", "title": "Step 27" @@ -22623,8 +20738,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-28", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-28" }, "id": "617bb5624a75e86463b7e638", "title": "Step 28" @@ -22635,8 +20749,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-29", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-29" }, "id": "617bb77353188166af43f3ac", "title": "Step 29" @@ -22647,8 +20760,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-30", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-30" }, "id": "617bb9fdef27bc6aa0470ac2", "title": "Step 30" @@ -22659,8 +20771,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-31", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-31" }, "id": "617bbb6b97a83f6d1f7d6e38", "title": "Step 31" @@ -22671,8 +20782,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-32", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-32" }, "id": "617bc3386dc7d07d6469bf20", "title": "Step 32" @@ -22683,8 +20793,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-33", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-33" }, "id": "617bc4824e233180553a8069", "title": "Step 33" @@ -22695,8 +20804,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-34", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-34" }, "id": "617bd6ec666b1da2587e4e37", "title": "Step 34" @@ -22707,8 +20815,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-35", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-35" }, "id": "618a00ed1ca871a2b3aca0cb", "title": "Step 35" @@ -22719,8 +20826,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-36", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-36" }, "id": "618a0927005553b74bfa05ae", "title": "Step 36" @@ -22731,8 +20837,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-37", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-37" }, "id": "618a0b2befb143baefab632b", "title": "Step 37" @@ -22743,8 +20848,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-38", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-38" }, "id": "618a1275e873dcc803c2d1aa", "title": "Step 38" @@ -22755,8 +20859,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-39", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-39" }, "id": "618a132676346ac9f7fd59dd", "title": "Step 39" @@ -22767,8 +20870,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-40", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-40" }, "id": "618a16873520a8d088ffdf44", "title": "Step 40" @@ -22779,8 +20881,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-41", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-41" }, "id": "618a16d21bd3dad1bb3aa8ef", "title": "Step 41" @@ -22791,8 +20892,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-42", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-42" }, "id": "619b72a0db211f1c29afb906", "title": "Step 42" @@ -22803,8 +20903,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-43", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-43" }, "id": "619b7396e57b771f903be90d", "title": "Step 43" @@ -22815,8 +20914,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-44", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-44" }, "id": "619b7424f43ec9215e538afe", "title": "Step 44" @@ -22827,8 +20925,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-45", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-45" }, "id": "619b74fa777a2b2473c94f82", "title": "Step 45" @@ -22839,8 +20936,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-46", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-46" }, "id": "619b761916dac02643940022", "title": "Step 46" @@ -22851,8 +20947,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-47", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-47" }, "id": "619b7c3c83de403126b69c1e", "title": "Step 47" @@ -22863,8 +20958,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-48", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-48" }, "id": "619b7fd56aa2253778bcf5f7", "title": "Step 48" @@ -22875,8 +20969,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-49", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-49" }, "id": "61a489b8579e87364b2d2cdb", "title": "Step 49" @@ -22887,8 +20980,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-50", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-50" }, "id": "61a493ead935c148d2b76312", "title": "Step 50" @@ -22899,8 +20991,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-53", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-53" }, "id": "61a498399534644f59cff05e", "title": "Step 53" @@ -22911,8 +21002,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-54", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-54" }, "id": "61a49d15bdbb5e57cc6fd280", "title": "Step 54" @@ -22923,8 +21013,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-55", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-55" }, "id": "61a4a53c4459446dc134a1c6", "title": "Step 55" @@ -22935,8 +21024,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-56", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-56" }, "id": "61a4a6e908bc34725b4c25ac", "title": "Step 56" @@ -22947,8 +21035,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-57", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-57" }, "id": "61a4a7877da33a73a1c1723e", "title": "Step 57" @@ -22959,8 +21046,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-58", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-58" }, "id": "61a4ac092eb21e7dbfe61c33", "title": "Step 58" @@ -22971,8 +21057,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-59", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-59" }, "id": "61a4acbb5587197f68544d00", "title": "Step 59" @@ -22983,8 +21068,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-60", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-60" }, "id": "61a4ada3aabeec822b2975d9", "title": "Step 60" @@ -22995,8 +21079,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-61", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-61" }, "id": "61a4ae5f29eb5584187201c3", "title": "Step 61" @@ -23007,8 +21090,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-63", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-63" }, "id": "61a5be9833e7dc178de2af10", "title": "Step 63" @@ -23019,8 +21101,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-64", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-64" }, "id": "61a5bfe091060f1d6a629dd0", "title": "Step 64" @@ -23031,8 +21112,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-65", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-65" }, "id": "61a5c906ab73313316e342f0", "title": "Step 65" @@ -23043,8 +21123,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-66", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-66" }, "id": "61a5ca57f50ded36d33eef96", "title": "Step 66" @@ -23055,8 +21134,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-67", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-67" }, "id": "61a5d594b887335228ee6533", "title": "Step 67" @@ -23067,8 +21145,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-68", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-68" }, "id": "61a5d6701ee08953ca375243", "title": "Step 68" @@ -23079,8 +21156,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-69", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-69" }, "id": "61a5d79c858bef560e26c685", "title": "Step 69" @@ -23091,8 +21167,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-70", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-70" }, "id": "61a5d7ef1cfcf45764df07a2", "title": "Step 70" @@ -23103,8 +21178,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-71", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-71" }, "id": "61adc60b69cd4b87739d2174", "title": "Step 71" @@ -23115,8 +21189,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-79", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-79" }, "id": "61adc91467b5d59328b9f781", "title": "Step 79" @@ -23127,8 +21200,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-80", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-80" }, "id": "61add79e739a5faee9d96080", "title": "Step 80" @@ -23139,8 +21211,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-81", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-81" }, "id": "61add929e41980b1edbdba7e", "title": "Step 81" @@ -23151,8 +21222,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-82", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-82" }, "id": "61addaf7e83988b59a7d18ff", "title": "Step 82" @@ -23163,8 +21233,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-83", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-83" }, "id": "61ade49b2dad60c076cbd32d", "title": "Step 83" @@ -23175,8 +21244,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-72", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-72" }, "id": "61b092eb9e7fc020b43b1bb2", "title": "Step 72" @@ -23187,8 +21255,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-73", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-73" }, "id": "61b093179e7fc020b43b1bb3", "title": "Step 73" @@ -23199,8 +21266,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-74", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-74" }, "id": "61b093219e7fc020b43b1bb4", "title": "Step 74" @@ -23211,8 +21277,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-75", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-75" }, "id": "61b093329e7fc020b43b1bb5", "title": "Step 75" @@ -23223,8 +21288,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-76", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-76" }, "id": "61b093429e7fc020b43b1bb6", "title": "Step 76" @@ -23235,8 +21299,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-77", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-77" }, "id": "61b0934c9e7fc020b43b1bb7", "title": "Step 77" @@ -23247,8 +21310,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-78", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-78" }, "id": "61b0936d9e7fc020b43b1bb8", "title": "Step 78" @@ -23259,8 +21321,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-51", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-51" }, "id": "61b095989e7fc020b43b1bb9", "title": "Step 51" @@ -23271,8 +21332,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-52", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-52" }, "id": "61b095a79e7fc020b43b1bba", "title": "Step 52" @@ -23283,8 +21343,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-62", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-62" }, "id": "61b095c79e7fc020b43b1bbb", "title": "Step 62" @@ -23295,8 +21354,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-84", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-84" }, "id": "61b09f739aa6572d2064f9b8", "title": "Step 84" @@ -23307,8 +21365,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-85", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-85" }, "id": "61b0a1b2af494934b7ec1a72", "title": "Step 85" @@ -23319,8 +21376,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-86", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-86" }, "id": "61b0a44a6b865738ba49b9fb", "title": "Step 86" @@ -23331,8 +21387,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-87", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-87" }, "id": "61b306305810f1c9040ce5a2", "title": "Step 87" @@ -23343,8 +21398,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-88", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-88" }, "id": "61b30995968123ceb6b76167", "title": "Step 88" @@ -23355,8 +21409,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-89", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-89" }, "id": "61b30a286c228bd0c493c09a", "title": "Step 89" @@ -23367,8 +21420,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-90", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-90" }, "id": "61b31287fb580ae75a486047", "title": "Step 90" @@ -23379,8 +21431,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-91", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-91" }, "id": "61b315e76a63b3ecbbb11b75", "title": "Step 91" @@ -23391,8 +21442,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-92", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-92" }, "id": "61b3183655ec10efd8c0bb07", "title": "Step 92" @@ -23403,8 +21453,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-93", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-93" }, "id": "61b31a451057fff645ec09be", "title": "Step 93" @@ -23415,8 +21464,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-94", - "blockName": "Learn CSS Colors by Building a Set of Colored Markers" + "slug": "/learn/2022/responsive-web-design/learn-css-colors-by-building-a-set-of-colored-markers/step-94" }, "id": "61b31cd7b0c76bfc076b4719", "title": "Step 94" @@ -23427,8 +21475,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-1", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-1" }, "id": "61537485c4f2a624f18d7794", "title": "Step 1" @@ -23439,8 +21486,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-2", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-2" }, "id": "61537a8054753e2f1f2a1574", "title": "Step 2" @@ -23451,8 +21497,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-3", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-3" }, "id": "61537bb9b1a29430ac15ad38", "title": "Step 3" @@ -23463,8 +21508,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-4", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-4" }, "id": "61537c5f81f0cf325b4a854c", "title": "Step 4" @@ -23475,8 +21519,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-5", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-5" }, "id": "61537c9eecea6a335db6da79", "title": "Step 5" @@ -23487,8 +21530,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-6", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-6" }, "id": "61537d86bdc3dd343688fceb", "title": "Step 6" @@ -23499,8 +21541,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-7", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-7" }, "id": "615380dff67172357fcf0425", "title": "Step 7" @@ -23511,8 +21552,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-9", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-9" }, "id": "6153893900438b4643590367", "title": "Step 9" @@ -23523,8 +21563,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-10", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-10" }, "id": "6153897c27f6334716ee5abe", "title": "Step 10" @@ -23535,8 +21574,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-11", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-11" }, "id": "615389bd81347947ea7ba896", "title": "Step 11" @@ -23547,8 +21585,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-12", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-12" }, "id": "6153908a366afb4d57185c8d", "title": "Step 12" @@ -23559,8 +21596,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-13", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-13" }, "id": "615392916d83fa4f02f7e2cf", "title": "Step 13" @@ -23571,8 +21607,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-14", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-14" }, "id": "6153938dce8b294ff8f5a4e9", "title": "Step 14" @@ -23583,8 +21618,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-15", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-15" }, "id": "6153947986535e5117e60615", "title": "Step 15" @@ -23595,8 +21629,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-16", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-16" }, "id": "61539e07e7430b528fbffe21", "title": "Step 16" @@ -23607,8 +21640,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-17", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-17" }, "id": "61539f32a206bd53ec116465", "title": "Step 17" @@ -23619,8 +21651,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-18", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-18" }, "id": "6153a04847abee57a3a406ac", "title": "Step 18" @@ -23631,8 +21662,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-19", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-19" }, "id": "6153a3485f0b20591d26d2a1", "title": "Step 19" @@ -23643,8 +21673,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-20", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-20" }, "id": "6153a3952facd25a83fe8083", "title": "Step 20" @@ -23655,8 +21684,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-21", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-21" }, "id": "6153a3ebb4f7f05b8401b716", "title": "Step 21" @@ -23667,8 +21695,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-8", - "blockName": "Learn CSS Flexbox by Building a Photo Gallery" + "slug": "/learn/2022/responsive-web-design/learn-css-flexbox-by-building-a-photo-gallery/step-8" }, "id": "615f171d05def3218035dc85", "title": "Step 8" @@ -23679,8 +21706,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-1", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-1" }, "id": "61437d575fb98f57fa8f7f36", "title": "Step 1" @@ -23691,8 +21717,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-2", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-2" }, "id": "614385513d91ae5c251c2052", "title": "Step 2" @@ -23703,8 +21728,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-3", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-3" }, "id": "6143862a5e54455d262c212e", "title": "Step 3" @@ -23715,8 +21739,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-4", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-4" }, "id": "6143869bb45bd85e3b1926aa", "title": "Step 4" @@ -23727,8 +21750,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-7", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-7" }, "id": "614387cbefeeba5f3654a291", "title": "Step 7" @@ -23739,8 +21761,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-9", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-9" }, "id": "614389f601bb4f611db98563", "title": "Step 9" @@ -23751,8 +21772,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-10", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-10" }, "id": "61438b5b66d76a6264430f2a", "title": "Step 10" @@ -23763,8 +21783,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-11", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-11" }, "id": "61438ec09438696391076d6a", "title": "Step 11" @@ -23775,8 +21794,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-12", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-12" }, "id": "61439dc084fa5f659cf75d7c", "title": "Step 12" @@ -23787,8 +21805,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-13", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-13" }, "id": "61439dfc811e12666b04be6f", "title": "Step 13" @@ -23799,8 +21816,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-14", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-14" }, "id": "61439e33e4fb7967609e0c83", "title": "Step 14" @@ -23811,8 +21827,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-15", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-15" }, "id": "6143a1a228f7d068ab16a130", "title": "Step 15" @@ -23823,8 +21838,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-16", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-16" }, "id": "6143a73279ce6369de4b9bcc", "title": "Step 16" @@ -23835,8 +21849,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-17", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-17" }, "id": "6143a778bffc206ac6b1dbe3", "title": "Step 17" @@ -23847,8 +21860,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-18", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-18" }, "id": "6143a83fcc32c26bcfae3efa", "title": "Step 18" @@ -23859,8 +21871,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-19", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-19" }, "id": "6143b97c06c3306d23d5da47", "title": "Step 19" @@ -23871,8 +21882,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-20", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-20" }, "id": "6143b9e1f5035c6e5f2a8231", "title": "Step 20" @@ -23883,8 +21893,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-21", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-21" }, "id": "6143bb50e8e48c6f5ef9d8d5", "title": "Step 21" @@ -23895,8 +21904,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-22", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-22" }, "id": "6143c2a363865c715f1a3f72", "title": "Step 22" @@ -23907,8 +21915,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-23", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-23" }, "id": "6143cd08fe927072ca3a371d", "title": "Step 23" @@ -23919,8 +21926,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-24", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-24" }, "id": "6143cdf48b634a747de42104", "title": "Step 24" @@ -23931,8 +21937,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-25", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-25" }, "id": "6143d003ad9e9d76766293ec", "title": "Step 25" @@ -23943,8 +21948,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-26", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-26" }, "id": "6143d2842b497779bad947de", "title": "Step 26" @@ -23955,8 +21959,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-27", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-27" }, "id": "6144d66a5358db0c80628757", "title": "Step 27" @@ -23967,8 +21970,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-28", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-28" }, "id": "6144d7dbdd3e580da730ff45", "title": "Step 28" @@ -23979,8 +21981,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-29", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-29" }, "id": "6144de308591ec10e27d5383", "title": "Step 29" @@ -23991,8 +21992,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-30", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-30" }, "id": "6144e1ba93e435127a7f516d", "title": "Step 30" @@ -24003,8 +22003,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-31", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-31" }, "id": "6144ee46a9d6e614c598cc05", "title": "Step 31" @@ -24015,8 +22014,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-32", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-32" }, "id": "6144ee790af79815ad15a832", "title": "Step 32" @@ -24027,8 +22025,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-33", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-33" }, "id": "6144f1410990ea17187a722b", "title": "Step 33" @@ -24039,8 +22036,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-34", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-34" }, "id": "6144f3818bfbc51844152e36", "title": "Step 34" @@ -24051,8 +22047,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-35", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-35" }, "id": "6144f42204c8c8195f1f3345", "title": "Step 35" @@ -24063,8 +22058,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-36", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-36" }, "id": "6144f47b7c631e1a6f304dd5", "title": "Step 36" @@ -24075,8 +22069,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-37", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-37" }, "id": "6148b07081759c2c691166a9", "title": "Step 37" @@ -24087,8 +22080,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-38", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-38" }, "id": "6148b0d764e4192e5712ed92", "title": "Step 38" @@ -24099,8 +22091,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-39", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-39" }, "id": "6148b185ef37522f688316b0", "title": "Step 39" @@ -24111,8 +22102,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-40", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-40" }, "id": "6148b30464daf630848c21d4", "title": "Step 40" @@ -24123,8 +22113,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-41", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-41" }, "id": "6148b4b150434734143db6f2", "title": "Step 41" @@ -24135,8 +22124,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-42", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-42" }, "id": "6148b5623efa8f369f2c3643", "title": "Step 42" @@ -24147,8 +22135,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-44", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-44" }, "id": "6148b59ef318e03875f35c4a", "title": "Step 44" @@ -24159,8 +22146,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-45", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-45" }, "id": "6148bd62bbb8c83a5f1fc1b3", "title": "Step 45" @@ -24171,8 +22157,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-46", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-46" }, "id": "6148be3d605d6b3ca9425d11", "title": "Step 46" @@ -24183,8 +22168,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-47", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-47" }, "id": "6148be82ca63c63daa8cca49", "title": "Step 47" @@ -24195,8 +22179,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-48", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-48" }, "id": "6148bf49fcc7913f05dbf9b7", "title": "Step 48" @@ -24207,8 +22190,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-49", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-49" }, "id": "6148bfc43df3bc40fe0e6405", "title": "Step 49" @@ -24219,8 +22201,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-50", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-50" }, "id": "6148c004ffc8434252940dc3", "title": "Step 50" @@ -24231,8 +22212,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-51", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-51" }, "id": "6148c224ecb157439bc5247c", "title": "Step 51" @@ -24243,8 +22223,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-52", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-52" }, "id": "6148c434bd731d45617a76c6", "title": "Step 52" @@ -24255,8 +22234,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-53", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-53" }, "id": "6148c5036ddad94692a66230", "title": "Step 53" @@ -24267,8 +22245,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-54", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-54" }, "id": "6148c58bace368497fb11bcf", "title": "Step 54" @@ -24279,8 +22256,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-55", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-55" }, "id": "6148c6aa9981d74af202125e", "title": "Step 55" @@ -24291,8 +22267,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-56", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-56" }, "id": "6148c721e74ecd4c619ae51c", "title": "Step 56" @@ -24303,8 +22278,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-57", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-57" }, "id": "6148ceaf5d897d4d8b3554b3", "title": "Step 57" @@ -24315,8 +22289,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-58", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-58" }, "id": "6148cf094b3f2b4e8a032c63", "title": "Step 58" @@ -24327,8 +22300,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-59", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-59" }, "id": "6148d0b863d10d50544ace0e", "title": "Step 59" @@ -24339,8 +22311,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-60", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-60" }, "id": "6148d1bdf39c5b5186f5974b", "title": "Step 60" @@ -24351,8 +22322,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-61", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-61" }, "id": "6148d1f9eb63c252e1f8acc4", "title": "Step 61" @@ -24363,8 +22333,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-62", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-62" }, "id": "6148d2444d01ab541e64a1e4", "title": "Step 62" @@ -24375,8 +22344,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-63", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-63" }, "id": "6148d33e31fccf558696c745", "title": "Step 63" @@ -24387,8 +22355,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-64", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-64" }, "id": "6148d3fff5186b57123d97e2", "title": "Step 64" @@ -24399,8 +22366,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-65", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-65" }, "id": "6148d4d57b965358c9fa38bf", "title": "Step 65" @@ -24411,8 +22377,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-66", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-66" }, "id": "6148d7720f0db36775db868a", "title": "Step 66" @@ -24423,8 +22388,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-67", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-67" }, "id": "6148d94fdf6a5d6899f8ff15", "title": "Step 67" @@ -24435,8 +22399,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-68", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-68" }, "id": "6148d9825b50a3698aeee644", "title": "Step 68" @@ -24447,8 +22410,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-69", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-69" }, "id": "6148e162e255676ae0da6a76", "title": "Step 69" @@ -24459,8 +22421,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-70", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-70" }, "id": "6148e19c3e26436be0155690", "title": "Step 70" @@ -24471,8 +22432,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-71", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-71" }, "id": "6148e246146b646cf4255f0c", "title": "Step 71" @@ -24483,8 +22443,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-72", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-72" }, "id": "6148e2dcdd60306dd77d41cc", "title": "Step 72" @@ -24495,8 +22454,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-73", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-73" }, "id": "6148e4d6861a486f60681f36", "title": "Step 73" @@ -24507,8 +22465,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-74", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-74" }, "id": "6148e5a204d99e70343a63e4", "title": "Step 74" @@ -24519,8 +22476,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-75", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-75" }, "id": "6148e62a6f768f71c4f04828", "title": "Step 75" @@ -24531,8 +22487,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-76", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-76" }, "id": "6148e789329dc9736ce59b85", "title": "Step 76" @@ -24543,8 +22498,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-77", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-77" }, "id": "6148f34ebedc2274bceeb99c", "title": "Step 77" @@ -24555,8 +22509,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-78", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-78" }, "id": "6148f600cde42b7670c2611f", "title": "Step 78" @@ -24567,8 +22520,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-79", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-79" }, "id": "6148f693e0728f77c87f3020", "title": "Step 79" @@ -24579,8 +22531,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-80", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-80" }, "id": "6148f6f7d8914c78e93136ca", "title": "Step 80" @@ -24591,8 +22542,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-43", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-43" }, "id": "614e0e503b110f76d3ac2ff6", "title": "Step 43" @@ -24603,8 +22553,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-6", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-6" }, "id": "614e0e588f0e8a772a8a81a6", "title": "Step 6" @@ -24615,8 +22564,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-5", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-5" }, "id": "6165d3b702a5d92ad970b30c", "title": "Step 5" @@ -24627,8 +22575,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-8", - "blockName": "Learn CSS Grid by Building a Magazine" + "slug": "/learn/2022/responsive-web-design/learn-css-grid-by-building-a-magazine/step-8" }, "id": "6169cd8a558aa8434e0ad7f6", "title": "Step 8" @@ -24639,8 +22586,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-1", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-1" }, "id": "619665c9abd72906f3ad30f9", "title": "Step 1" @@ -24651,8 +22597,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-2", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-2" }, "id": "61967e74a8e3690ab6292daa", "title": "Step 2" @@ -24663,8 +22608,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-3", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-3" }, "id": "61968df2acd5550bf1616c34", "title": "Step 3" @@ -24675,8 +22619,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-5", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-5" }, "id": "61968e9243a4090cc805531c", "title": "Step 5" @@ -24687,8 +22630,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-6", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-6" }, "id": "61968f8877c6720d6d61aaf5", "title": "Step 6" @@ -24699,8 +22641,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-7", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-7" }, "id": "619691693bc14b0e528f5a20", "title": "Step 7" @@ -24711,8 +22652,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-8", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-8" }, "id": "6196928658b6010f28c39484", "title": "Step 8" @@ -24723,8 +22663,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-10", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-10" }, "id": "619692ff79f5770fc6d8c0b4", "title": "Step 10" @@ -24735,8 +22674,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-11", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-11" }, "id": "6196990f966e8f10a40094f6", "title": "Step 11" @@ -24747,8 +22685,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-12", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-12" }, "id": "619699c10a0f6e11591d73c4", "title": "Step 12" @@ -24759,8 +22696,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-13", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-13" }, "id": "61969aa6acef5b12200f672e", "title": "Step 13" @@ -24771,8 +22707,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-14", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-14" }, "id": "61969c487ced6f12db8fef94", "title": "Step 14" @@ -24783,8 +22718,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-15", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-15" }, "id": "61969d66cfcdba137d021558", "title": "Step 15" @@ -24795,8 +22729,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-16", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-16" }, "id": "61969e7451455614217e901b", "title": "Step 16" @@ -24807,8 +22740,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-17", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-17" }, "id": "6196adc17f77a714d51485f2", "title": "Step 17" @@ -24819,8 +22751,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-18", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-18" }, "id": "6196aead7ac7bf1584b17a7f", "title": "Step 18" @@ -24831,8 +22762,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-19", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-19" }, "id": "6196ce0415498d2463989e84", "title": "Step 19" @@ -24843,8 +22773,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-20", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-20" }, "id": "6196cee94c6da1253809dff9", "title": "Step 20" @@ -24855,8 +22784,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-21", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-21" }, "id": "6196d00a5d7292262bc02f4c", "title": "Step 21" @@ -24867,8 +22795,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-22", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-22" }, "id": "6196d0cda039d026f7f78d1e", "title": "Step 22" @@ -24879,8 +22806,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-24", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-24" }, "id": "6196d213d99f16287bff22ae", "title": "Step 24" @@ -24891,8 +22817,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-25", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-25" }, "id": "6196d2c0f22ca0293107c048", "title": "Step 25" @@ -24903,8 +22828,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-26", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-26" }, "id": "6196d32d1340d829f0f6f57d", "title": "Step 26" @@ -24915,8 +22839,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-27", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-27" }, "id": "6196d41d40bf9b2aaea5d520", "title": "Step 27" @@ -24927,8 +22850,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-28", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-28" }, "id": "6197cff995d03905b0cca8ad", "title": "Step 28" @@ -24939,8 +22861,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-29", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-29" }, "id": "6197f40a16afea068c7e60c8", "title": "Step 29" @@ -24951,8 +22872,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-9", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-9" }, "id": "6197f667297bb30a552ce017", "title": "Step 9" @@ -24963,8 +22883,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-30", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-30" }, "id": "61993b72e874e709b8dfd666", "title": "Step 30" @@ -24975,8 +22894,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-31", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-31" }, "id": "61993cf26a8e0f0a553db223", "title": "Step 31" @@ -24987,8 +22905,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-32", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-32" }, "id": "61993dbb35adf30b10d49e38", "title": "Step 32" @@ -24999,8 +22916,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-33", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-33" }, "id": "61993e9adc9e9a0bb4d28fff", "title": "Step 33" @@ -25011,8 +22927,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-34", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-34" }, "id": "6199409834ccaf0d10736596", "title": "Step 34" @@ -25023,8 +22938,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-35", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-35" }, "id": "6199429802b7c10dc79ff871", "title": "Step 35" @@ -25035,8 +22949,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-36", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-36" }, "id": "619943285a41720e6370d985", "title": "Step 36" @@ -25047,8 +22960,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-37", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-37" }, "id": "619943876b706d0f35c01dbc", "title": "Step 37" @@ -25059,8 +22971,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-38", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-38" }, "id": "6199442866286d0ff421a4fc", "title": "Step 38" @@ -25071,8 +22982,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-39", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-39" }, "id": "619bcf239fc15905ecd66fce", "title": "Step 39" @@ -25083,8 +22993,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-40", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-40" }, "id": "619be73b3c806006ccc00bb0", "title": "Step 40" @@ -25095,8 +23004,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-41", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-41" }, "id": "619be7af7b0bf60770f5d2a4", "title": "Step 41" @@ -25107,8 +23015,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-42", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-42" }, "id": "619be80062551a080e32c821", "title": "Step 42" @@ -25119,8 +23026,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-43", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-43" }, "id": "619be8ce4ea49008c5bfbc30", "title": "Step 43" @@ -25131,8 +23037,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-44", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-44" }, "id": "619be946958c6009844f1dee", "title": "Step 44" @@ -25143,8 +23048,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-45", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-45" }, "id": "619c155df0063a0a3fec0e32", "title": "Step 45" @@ -25155,8 +23059,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-46", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-46" }, "id": "619c16debd0c270b01c5ce38", "title": "Step 46" @@ -25167,8 +23070,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-47", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-47" }, "id": "619cfdf2e63ddf05feab86ad", "title": "Step 47" @@ -25179,8 +23081,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-48", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-48" }, "id": "619d019488f98c06acbbb71a", "title": "Step 48" @@ -25191,8 +23092,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-49", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-49" }, "id": "619d022dc8400c0763829a17", "title": "Step 49" @@ -25203,8 +23103,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-50", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-50" }, "id": "619d02c7bc95bf0827a5d296", "title": "Step 50" @@ -25215,8 +23114,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-51", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-51" }, "id": "619d033915012509031f309a", "title": "Step 51" @@ -25227,8 +23125,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-52", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-52" }, "id": "619d03dadadb6509a16f4f5f", "title": "Step 52" @@ -25239,8 +23136,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-53", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-53" }, "id": "619d0503e03a790a4179d463", "title": "Step 53" @@ -25251,8 +23147,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-54", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-54" }, "id": "619d05c54dabca0b10058235", "title": "Step 54" @@ -25263,8 +23158,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-55", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-55" }, "id": "619d0882f54bf40bdc4671ed", "title": "Step 55" @@ -25275,8 +23169,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-56", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-56" }, "id": "619d090cd8d6db0c93dc5087", "title": "Step 56" @@ -25287,8 +23180,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-57", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-57" }, "id": "619d0b51ca42ed0d74582186", "title": "Step 57" @@ -25299,8 +23191,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-58", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-58" }, "id": "619d0bc9cb05360e1bf549c3", "title": "Step 58" @@ -25311,8 +23202,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-59", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-59" }, "id": "619d0c1594c38c0ebae75878", "title": "Step 59" @@ -25323,8 +23213,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-60", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-60" }, "id": "619d0d18ca99870f884a7bff", "title": "Step 60" @@ -25335,8 +23224,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-61", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-61" }, "id": "619d0daf214542102739b0da", "title": "Step 61" @@ -25347,8 +23235,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-62", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-62" }, "id": "619d0e56f9ca9710fcb974e3", "title": "Step 62" @@ -25359,8 +23246,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-63", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-63" }, "id": "619d0eec0ac40611b41e2ccc", "title": "Step 63" @@ -25371,8 +23257,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-64", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-64" }, "id": "619d0fc9825c271253df28d4", "title": "Step 64" @@ -25383,8 +23268,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-65", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-65" }, "id": "619d102d786c3d13124c37c6", "title": "Step 65" @@ -25395,8 +23279,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-66", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-66" }, "id": "619d107edf7ddf13cc77106a", "title": "Step 66" @@ -25407,8 +23290,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-67", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-67" }, "id": "619d10cc98145f14820399c5", "title": "Step 67" @@ -25419,8 +23301,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-68", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-68" }, "id": "619d115e2adcd71538e82ebb", "title": "Step 68" @@ -25431,8 +23312,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-69", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-69" }, "id": "619d11e6d5ef9515d2a16033", "title": "Step 69" @@ -25443,8 +23323,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-70", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-70" }, "id": "619d129a417d0716a94de913", "title": "Step 70" @@ -25455,8 +23334,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-71", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-71" }, "id": "619d1340361095175f4b5115", "title": "Step 71" @@ -25467,8 +23345,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-72", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-72" }, "id": "619d15797b580c1828b05426", "title": "Step 72" @@ -25479,8 +23356,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-73", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-73" }, "id": "619d15d955d9d418c4487bbc", "title": "Step 73" @@ -25491,8 +23367,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-74", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-74" }, "id": "619d1629a8adc61960ca8b40", "title": "Step 74" @@ -25503,8 +23378,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-75", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-75" }, "id": "619d1c5fc9f8941a400955da", "title": "Step 75" @@ -25515,8 +23389,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-76", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-76" }, "id": "619d1dab9ff3421ae1976991", "title": "Step 76" @@ -25527,8 +23400,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-77", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-77" }, "id": "619d1deb8b04811b8839ffe4", "title": "Step 77" @@ -25539,8 +23411,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-78", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-78" }, "id": "619d1e7a8e81a61c5a819dc4", "title": "Step 78" @@ -25551,8 +23422,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-79", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-79" }, "id": "619d1ed33c9a071cf657a0d6", "title": "Step 79" @@ -25563,8 +23433,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-80", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-80" }, "id": "619d1fb5d244c31db8a7fdb7", "title": "Step 80" @@ -25575,8 +23444,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-81", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-81" }, "id": "619d204bd73ae51e743b8e94", "title": "Step 81" @@ -25587,8 +23455,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-82", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-82" }, "id": "619d20b12996101f430920fb", "title": "Step 82" @@ -25599,8 +23466,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-83", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-83" }, "id": "619d21fe6a3f9b2016be9d9d", "title": "Step 83" @@ -25611,8 +23477,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-84", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-84" }, "id": "619d229b0e542520cd91c685", "title": "Step 84" @@ -25623,8 +23488,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-85", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-85" }, "id": "619d23089e787e216a7043d6", "title": "Step 85" @@ -25635,8 +23499,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-86", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-86" }, "id": "619d237a107c10221ed743fa", "title": "Step 86" @@ -25647,8 +23510,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-87", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-87" }, "id": "619d26b12e651022d80cd017", "title": "Step 87" @@ -25659,8 +23521,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-88", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-88" }, "id": "619d2712853306238f41828e", "title": "Step 88" @@ -25671,8 +23532,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-89", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-89" }, "id": "619d2b7a84e78b246f2d17a2", "title": "Step 89" @@ -25683,8 +23543,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-90", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-90" }, "id": "619d2bd9c1d43c2526e96f1f", "title": "Step 90" @@ -25695,8 +23554,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-91", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-91" }, "id": "619d2d4e80400325ff89664a", "title": "Step 91" @@ -25707,8 +23565,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-92", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-92" }, "id": "619d2ebc81ba81271460850d", "title": "Step 92" @@ -25719,8 +23576,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-93", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-93" }, "id": "619d2f0e9440bc27caee1cec", "title": "Step 93" @@ -25731,8 +23587,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-94", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-94" }, "id": "619d2fd3ff4f772882e3d998", "title": "Step 94" @@ -25743,8 +23598,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-95", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-95" }, "id": "619d30350883802921bfcccc", "title": "Step 95" @@ -25755,8 +23609,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-96", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-96" }, "id": "619d324f5915c929f36ae91d", "title": "Step 96" @@ -25767,8 +23620,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-97", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-97" }, "id": "619d32c7fa21f32aaa91d499", "title": "Step 97" @@ -25779,8 +23631,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-98", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-98" }, "id": "619d333b738e3c2b5d58b095", "title": "Step 98" @@ -25791,8 +23642,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-99", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-99" }, "id": "619d337765b9f02c10e93722", "title": "Step 99" @@ -25803,8 +23653,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-100", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-100" }, "id": "619d33c51140292cc5a21742", "title": "Step 100" @@ -25815,8 +23664,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-101", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-101" }, "id": "619d3482f505452d861d0f62", "title": "Step 101" @@ -25827,8 +23675,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-102", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-102" }, "id": "619d3561a951bf2e41a24f10", "title": "Step 102" @@ -25839,8 +23686,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-103", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-103" }, "id": "619d36103839c82efa95dd34", "title": "Step 103" @@ -25851,8 +23697,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-104", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-104" }, "id": "619d3711d04d623000013e9e", "title": "Step 104" @@ -25863,8 +23708,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-4", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-4" }, "id": "61a8fe15a6a31306e60d1e89", "title": "Step 4" @@ -25875,8 +23719,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-1", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-1" }, "id": "5d822fd413a79914d39e98c9", "title": "Step 1" @@ -25887,8 +23730,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-2", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-2" }, "id": "5d822fd413a79914d39e98ca", "title": "Step 2" @@ -25899,8 +23741,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-3", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-3" }, "id": "5d822fd413a79914d39e98cb", "title": "Step 3" @@ -25911,8 +23752,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-4", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-4" }, "id": "5d822fd413a79914d39e98cc", "title": "Step 4" @@ -25923,8 +23763,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-5", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-5" }, "id": "5d822fd413a79914d39e98cd", "title": "Step 5" @@ -25935,8 +23774,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-6", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-6" }, "id": "5d822fd413a79914d39e98ce", "title": "Step 6" @@ -25947,8 +23785,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-7", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-7" }, "id": "5d822fd413a79914d39e98cf", "title": "Step 7" @@ -25959,8 +23796,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-8", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-8" }, "id": "5d822fd413a79914d39e98d0", "title": "Step 8" @@ -25971,8 +23807,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-9", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-9" }, "id": "5d822fd413a79914d39e98d1", "title": "Step 9" @@ -25983,8 +23818,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-10", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-10" }, "id": "5d822fd413a79914d39e98d2", "title": "Step 10" @@ -25995,8 +23829,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-11", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-11" }, "id": "5d822fd413a79914d39e98d3", "title": "Step 11" @@ -26007,8 +23840,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-12", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-12" }, "id": "5d822fd413a79914d39e98d4", "title": "Step 12" @@ -26019,8 +23851,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-13", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-13" }, "id": "5d822fd413a79914d39e98d5", "title": "Step 13" @@ -26031,8 +23862,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-14", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-14" }, "id": "5d822fd413a79914d39e98d6", "title": "Step 14" @@ -26043,8 +23873,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-15", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-15" }, "id": "5d822fd413a79914d39e98d7", "title": "Step 15" @@ -26055,8 +23884,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-16", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-16" }, "id": "5d822fd413a79914d39e98d8", "title": "Step 16" @@ -26067,8 +23895,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-17", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-17" }, "id": "5d822fd413a79914d39e98d9", "title": "Step 17" @@ -26079,8 +23906,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-18", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-18" }, "id": "5d822fd413a79914d39e98da", "title": "Step 18" @@ -26091,8 +23917,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-19", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-19" }, "id": "5d822fd413a79914d39e98db", "title": "Step 19" @@ -26103,8 +23928,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-20", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-20" }, "id": "5d822fd413a79914d39e98dc", "title": "Step 20" @@ -26115,8 +23939,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-21", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-21" }, "id": "5d822fd413a79914d39e98dd", "title": "Step 21" @@ -26127,8 +23950,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-22", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-22" }, "id": "5d822fd413a79914d39e98de", "title": "Step 22" @@ -26139,8 +23961,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-23", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-23" }, "id": "5d822fd413a79914d39e98df", "title": "Step 23" @@ -26151,8 +23972,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-24", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-24" }, "id": "5d822fd413a79914d39e98e0", "title": "Step 24" @@ -26163,8 +23983,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-25", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-25" }, "id": "5d822fd413a79914d39e98e1", "title": "Step 25" @@ -26175,8 +23994,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-26", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-26" }, "id": "5d822fd413a79914d39e98e2", "title": "Step 26" @@ -26187,8 +24005,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-27", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-27" }, "id": "5d822fd413a79914d39e98e3", "title": "Step 27" @@ -26199,8 +24016,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-28", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-28" }, "id": "5d822fd413a79914d39e98e4", "title": "Step 28" @@ -26211,8 +24027,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-29", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-29" }, "id": "5d822fd413a79914d39e98e5", "title": "Step 29" @@ -26223,8 +24038,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-30", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-30" }, "id": "5d822fd413a79914d39e98e6", "title": "Step 30" @@ -26235,8 +24049,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-31", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-31" }, "id": "5d822fd413a79914d39e98e7", "title": "Step 31" @@ -26247,8 +24060,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-32", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-32" }, "id": "5d822fd413a79914d39e98e8", "title": "Step 32" @@ -26259,8 +24071,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-33", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-33" }, "id": "5d822fd413a79914d39e98e9", "title": "Step 33" @@ -26271,8 +24082,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-34", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-34" }, "id": "5d822fd413a79914d39e98ea", "title": "Step 34" @@ -26283,8 +24093,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-35", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-35" }, "id": "5d822fd413a79914d39e98eb", "title": "Step 35" @@ -26295,8 +24104,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-36", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-36" }, "id": "5d822fd413a79914d39e98ec", "title": "Step 36" @@ -26307,8 +24115,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-37", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-37" }, "id": "5d822fd413a79914d39e98ed", "title": "Step 37" @@ -26319,8 +24126,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-38", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-38" }, "id": "5d822fd413a79914d39e98ee", "title": "Step 38" @@ -26331,8 +24137,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-39", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-39" }, "id": "5d822fd413a79914d39e98ef", "title": "Step 39" @@ -26343,8 +24148,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-40", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-40" }, "id": "5d822fd413a79914d39e98f0", "title": "Step 40" @@ -26355,8 +24159,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-41", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-41" }, "id": "5d822fd413a79914d39e98f1", "title": "Step 41" @@ -26367,8 +24170,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-42", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-42" }, "id": "5d822fd413a79914d39e98f2", "title": "Step 42" @@ -26379,8 +24181,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-43", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-43" }, "id": "5d822fd413a79914d39e98f3", "title": "Step 43" @@ -26391,8 +24192,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-44", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-44" }, "id": "5d822fd413a79914d39e98f4", "title": "Step 44" @@ -26403,8 +24203,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-45", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-45" }, "id": "5d822fd413a79914d39e98f5", "title": "Step 45" @@ -26415,8 +24214,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-46", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-46" }, "id": "5d822fd413a79914d39e98f6", "title": "Step 46" @@ -26427,8 +24225,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-47", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-47" }, "id": "5d822fd413a79914d39e98f7", "title": "Step 47" @@ -26439,8 +24236,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-48", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-48" }, "id": "5d822fd413a79914d39e98f8", "title": "Step 48" @@ -26451,8 +24247,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-49", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-49" }, "id": "5d822fd413a79914d39e98f9", "title": "Step 49" @@ -26463,8 +24258,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-50", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-50" }, "id": "5d822fd413a79914d39e98fa", "title": "Step 50" @@ -26475,8 +24269,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-51", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-51" }, "id": "5d822fd413a79914d39e98fb", "title": "Step 51" @@ -26487,8 +24280,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-52", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-52" }, "id": "5d822fd413a79914d39e98fc", "title": "Step 52" @@ -26499,8 +24291,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-53", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-53" }, "id": "5d822fd413a79914d39e98fd", "title": "Step 53" @@ -26511,8 +24302,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-54", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-54" }, "id": "5d822fd413a79914d39e98fe", "title": "Step 54" @@ -26523,8 +24313,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-55", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-55" }, "id": "5d822fd413a79914d39e98ff", "title": "Step 55" @@ -26535,8 +24324,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-56", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-56" }, "id": "5d822fd413a79914d39e9900", "title": "Step 56" @@ -26547,8 +24335,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-57", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-57" }, "id": "5d822fd413a79914d39e9901", "title": "Step 57" @@ -26559,8 +24346,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-58", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-58" }, "id": "5d822fd413a79914d39e9902", "title": "Step 58" @@ -26571,8 +24357,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-59", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-59" }, "id": "5d822fd413a79914d39e9903", "title": "Step 59" @@ -26583,8 +24368,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-60", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-60" }, "id": "5d822fd413a79914d39e9904", "title": "Step 60" @@ -26595,8 +24379,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-61", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-61" }, "id": "5d822fd413a79914d39e9905", "title": "Step 61" @@ -26607,8 +24390,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-62", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-62" }, "id": "5d822fd413a79914d39e9906", "title": "Step 62" @@ -26619,8 +24401,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-63", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-63" }, "id": "5d822fd413a79914d39e9907", "title": "Step 63" @@ -26631,8 +24412,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-64", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-64" }, "id": "5d822fd413a79914d39e9908", "title": "Step 64" @@ -26643,8 +24423,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-65", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-65" }, "id": "5d822fd413a79914d39e9909", "title": "Step 65" @@ -26655,8 +24434,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-66", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-66" }, "id": "5d822fd413a79914d39e990a", "title": "Step 66" @@ -26667,8 +24445,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-67", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-67" }, "id": "5d822fd413a79914d39e990b", "title": "Step 67" @@ -26679,8 +24456,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-68", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-68" }, "id": "5d822fd413a79914d39e990c", "title": "Step 68" @@ -26691,8 +24467,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-69", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-69" }, "id": "5d822fd413a79914d39e990d", "title": "Step 69" @@ -26703,8 +24478,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-70", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-70" }, "id": "5d822fd413a79914d39e990e", "title": "Step 70" @@ -26715,8 +24489,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-71", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-71" }, "id": "5d822fd413a79914d39e990f", "title": "Step 71" @@ -26727,8 +24500,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-72", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-72" }, "id": "5d822fd413a79914d39e9910", "title": "Step 72" @@ -26739,8 +24511,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-73", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-73" }, "id": "5d822fd413a79914d39e9911", "title": "Step 73" @@ -26751,8 +24522,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-74", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-74" }, "id": "5d822fd413a79914d39e9912", "title": "Step 74" @@ -26763,8 +24533,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-75", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-75" }, "id": "5d822fd413a79914d39e9913", "title": "Step 75" @@ -26775,8 +24544,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-76", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-76" }, "id": "5d822fd413a79914d39e9914", "title": "Step 76" @@ -26787,8 +24555,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-106", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-106" }, "id": "5d822fd413a79914d39e9915", "title": "Step 106" @@ -26799,8 +24566,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-77", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-77" }, "id": "5d822fd413a79914d39e9916", "title": "Step 77" @@ -26811,8 +24577,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-78", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-78" }, "id": "5d822fd413a79914d39e9917", "title": "Step 78" @@ -26823,8 +24588,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-79", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-79" }, "id": "5d822fd413a79914d39e9918", "title": "Step 79" @@ -26835,8 +24599,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-80", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-80" }, "id": "5d822fd413a79914d39e9919", "title": "Step 80" @@ -26847,8 +24610,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-81", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-81" }, "id": "5d822fd413a79914d39e991a", "title": "Step 81" @@ -26859,8 +24621,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-82", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-82" }, "id": "5d822fd413a79914d39e991b", "title": "Step 82" @@ -26871,8 +24632,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-83", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-83" }, "id": "5d822fd413a79914d39e991c", "title": "Step 83" @@ -26883,8 +24643,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-84", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-84" }, "id": "5d822fd413a79914d39e991d", "title": "Step 84" @@ -26895,8 +24654,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-85", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-85" }, "id": "5d822fd413a79914d39e991e", "title": "Step 85" @@ -26907,8 +24665,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-86", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-86" }, "id": "5d822fd413a79914d39e991f", "title": "Step 86" @@ -26919,8 +24676,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-87", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-87" }, "id": "5d822fd413a79914d39e9920", "title": "Step 87" @@ -26931,8 +24687,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-88", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-88" }, "id": "5d822fd413a79914d39e9921", "title": "Step 88" @@ -26943,8 +24698,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-89", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-89" }, "id": "5d822fd413a79914d39e9922", "title": "Step 89" @@ -26955,8 +24709,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-90", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-90" }, "id": "5d822fd413a79914d39e9923", "title": "Step 90" @@ -26967,8 +24720,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-91", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-91" }, "id": "5d822fd413a79914d39e9924", "title": "Step 91" @@ -26979,8 +24731,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-92", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-92" }, "id": "5d822fd413a79914d39e9925", "title": "Step 92" @@ -26991,8 +24742,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-93", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-93" }, "id": "5d822fd413a79914d39e9926", "title": "Step 93" @@ -27003,8 +24753,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-94", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-94" }, "id": "5d822fd413a79914d39e9927", "title": "Step 94" @@ -27015,8 +24764,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-95", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-95" }, "id": "5d822fd413a79914d39e9928", "title": "Step 95" @@ -27027,8 +24775,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-96", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-96" }, "id": "5d822fd413a79914d39e9929", "title": "Step 96" @@ -27039,8 +24786,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-97", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-97" }, "id": "5d822fd413a79914d39e992a", "title": "Step 97" @@ -27051,8 +24797,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-98", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-98" }, "id": "5d822fd413a79914d39e992b", "title": "Step 98" @@ -27063,8 +24808,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-99", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-99" }, "id": "5d822fd413a79914d39e992c", "title": "Step 99" @@ -27075,8 +24819,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-100", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-100" }, "id": "5d822fd413a79914d39e992d", "title": "Step 100" @@ -27087,8 +24830,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-101", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-101" }, "id": "5d822fd413a79914d39e992e", "title": "Step 101" @@ -27099,8 +24841,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-102", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-102" }, "id": "5d822fd413a79914d39e992f", "title": "Step 102" @@ -27111,8 +24852,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-103", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-103" }, "id": "5d822fd413a79914d39e9930", "title": "Step 103" @@ -27123,8 +24863,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-109", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-109" }, "id": "5d822fd413a79914d39e9931", "title": "Step 109" @@ -27135,8 +24874,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-104", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-104" }, "id": "5d822fd413a79914d39e9932", "title": "Step 104" @@ -27147,8 +24885,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-105", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-105" }, "id": "5d822fd413a79914d39e9933", "title": "Step 105" @@ -27159,8 +24896,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-107", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-107" }, "id": "5d822fd413a79914d39e9934", "title": "Step 107" @@ -27171,8 +24907,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-108", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-108" }, "id": "5d822fd413a79914d39e9935", "title": "Step 108" @@ -27183,8 +24918,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-110", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-110" }, "id": "5d822fd413a79914d39e9936", "title": "Step 110" @@ -27195,8 +24929,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-111", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-111" }, "id": "5d822fd413a79914d39e9937", "title": "Step 111" @@ -27207,8 +24940,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-112", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-112" }, "id": "5d822fd413a79914d39e9938", "title": "Step 112" @@ -27219,8 +24951,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-113", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-113" }, "id": "5d822fd413a79914d39e9939", "title": "Step 113" @@ -27231,8 +24962,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-114", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-114" }, "id": "5d822fd413a79914d39e993a", "title": "Step 114" @@ -27243,8 +24973,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-115", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-115" }, "id": "5d822fd413a79914d39e993b", "title": "Step 115" @@ -27255,8 +24984,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-116", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-116" }, "id": "5d822fd413a79914d39e993c", "title": "Step 116" @@ -27267,8 +24995,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-117", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-117" }, "id": "5d822fd413a79914d39e993d", "title": "Step 117" @@ -27279,8 +25006,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-118", - "blockName": "Learn CSS Variables by Building a City Skyline" + "slug": "/learn/2022/responsive-web-design/learn-css-variables-by-building-a-city-skyline/step-118" }, "id": "5d822fd413a79914d39e993e", "title": "Step 118" @@ -27291,8 +25017,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-1", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-1" }, "id": "5dc174fcf86c76b9248c6eb2", "title": "Step 1" @@ -27303,8 +25028,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-2", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-2" }, "id": "5dc1798ff86c76b9248c6eb3", "title": "Step 2" @@ -27315,8 +25039,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-3", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-3" }, "id": "5dc17d3bf86c76b9248c6eb4", "title": "Step 3" @@ -27327,8 +25050,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-4", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-4" }, "id": "5dc17dc8f86c76b9248c6eb5", "title": "Step 4" @@ -27339,8 +25061,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-5", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-5" }, "id": "5dc2385ff86c76b9248c6eb7", "title": "Step 5" @@ -27351,8 +25072,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-6", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-6" }, "id": "5dc23991f86c76b9248c6eb8", "title": "Step 6" @@ -27363,8 +25083,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-7", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-7" }, "id": "5dc23f9bf86c76b9248c6eba", "title": "Step 7" @@ -27375,8 +25094,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-8", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-8" }, "id": "5dc24073f86c76b9248c6ebb", "title": "Step 8" @@ -27387,8 +25105,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-9", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-9" }, "id": "5dc24165f86c76b9248c6ebc", "title": "Step 9" @@ -27399,8 +25116,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-10", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-10" }, "id": "5dc24614f86c76b9248c6ebd", "title": "Step 10" @@ -27411,8 +25127,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-11", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-11" }, "id": "5ddbd81294d8ddc1510a8e56", "title": "Step 11" @@ -27423,8 +25138,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-12", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-12" }, "id": "5dfa22d1b521be39a3de7be0", "title": "Step 12" @@ -27435,8 +25149,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-14", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-14" }, "id": "5dfa2407b521be39a3de7be1", "title": "Step 14" @@ -27447,8 +25160,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-15", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-15" }, "id": "5dfa30b9eacea3f48c6300ad", "title": "Step 15" @@ -27459,8 +25171,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-18", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-18" }, "id": "5dfa3589eacea3f48c6300ae", "title": "Step 18" @@ -27471,8 +25182,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-19", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-19" }, "id": "5dfa371beacea3f48c6300af", "title": "Step 19" @@ -27483,8 +25193,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-20", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-20" }, "id": "5dfa37b9eacea3f48c6300b0", "title": "Step 20" @@ -27495,8 +25204,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-21", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-21" }, "id": "5dfb5ecbeacea3f48c6300b1", "title": "Step 21" @@ -27507,8 +25215,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-22", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-22" }, "id": "5dfb6250eacea3f48c6300b2", "title": "Step 22" @@ -27519,8 +25226,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-23", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-23" }, "id": "5dfb655eeacea3f48c6300b3", "title": "Step 23" @@ -27531,8 +25237,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-24", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-24" }, "id": "5dfb6a35eacea3f48c6300b4", "title": "Step 24" @@ -27543,8 +25248,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-25", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-25" }, "id": "5ef9b03c81a63668521804d0", "title": "Step 25" @@ -27555,8 +25259,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-26", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-26" }, "id": "5ef9b03c81a63668521804d1", "title": "Step 26" @@ -27567,8 +25270,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-27", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-27" }, "id": "5ef9b03c81a63668521804d2", "title": "Step 27" @@ -27579,8 +25281,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-28", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-28" }, "id": "5ef9b03c81a63668521804d3", "title": "Step 28" @@ -27591,8 +25292,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-32", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-32" }, "id": "5ef9b03c81a63668521804d4", "title": "Step 32" @@ -27603,8 +25303,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-34", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-34" }, "id": "5ef9b03c81a63668521804d5", "title": "Step 34" @@ -27615,8 +25314,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-35", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-35" }, "id": "5ef9b03c81a63668521804d6", "title": "Step 35" @@ -27627,8 +25325,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-36", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-36" }, "id": "5ef9b03c81a63668521804d7", "title": "Step 36" @@ -27639,8 +25336,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-37", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-37" }, "id": "5ef9b03c81a63668521804d8", "title": "Step 37" @@ -27651,8 +25347,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-40", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-40" }, "id": "5ef9b03c81a63668521804d9", "title": "Step 40" @@ -27663,8 +25358,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-42", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-42" }, "id": "5ef9b03c81a63668521804da", "title": "Step 42" @@ -27675,8 +25369,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-41", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-41" }, "id": "5ef9b03c81a63668521804db", "title": "Step 41" @@ -27687,8 +25380,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-44", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-44" }, "id": "5ef9b03c81a63668521804dc", "title": "Step 44" @@ -27699,8 +25391,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-45", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-45" }, "id": "5ef9b03c81a63668521804dd", "title": "Step 45" @@ -27711,8 +25402,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-48", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-48" }, "id": "5ef9b03c81a63668521804de", "title": "Step 48" @@ -27723,8 +25413,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-46", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-46" }, "id": "5ef9b03c81a63668521804df", "title": "Step 46" @@ -27735,8 +25424,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-50", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-50" }, "id": "5ef9b03c81a63668521804e1", "title": "Step 50" @@ -27747,8 +25435,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-54", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-54" }, "id": "5ef9b03c81a63668521804e2", "title": "Step 54" @@ -27759,8 +25446,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-58", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-58" }, "id": "5ef9b03c81a63668521804e3", "title": "Step 58" @@ -27771,8 +25457,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-61", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-61" }, "id": "5ef9b03c81a63668521804e5", "title": "Step 61" @@ -27783,8 +25468,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-62", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-62" }, "id": "5ef9b03c81a63668521804e7", "title": "Step 62" @@ -27795,8 +25479,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-63", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-63" }, "id": "5ef9b03c81a63668521804e8", "title": "Step 63" @@ -27807,8 +25490,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-64", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-64" }, "id": "5ef9b03c81a63668521804e9", "title": "Step 64" @@ -27819,8 +25501,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-65", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-65" }, "id": "5ef9b03c81a63668521804ea", "title": "Step 65" @@ -27831,8 +25512,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-66", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-66" }, "id": "5ef9b03c81a63668521804eb", "title": "Step 66" @@ -27843,8 +25523,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-67", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-67" }, "id": "5ef9b03c81a63668521804ec", "title": "Step 67" @@ -27855,8 +25534,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-68", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-68" }, "id": "5ef9b03c81a63668521804ee", "title": "Step 68" @@ -27867,8 +25545,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-29", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-29" }, "id": "5efada803cbd2bbdab94e332", "title": "Step 29" @@ -27879,8 +25556,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-30", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-30" }, "id": "5efae0543cbd2bbdab94e333", "title": "Step 30" @@ -27891,8 +25567,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-31", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-31" }, "id": "5efae16e3cbd2bbdab94e334", "title": "Step 31" @@ -27903,8 +25578,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-38", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-38" }, "id": "5efb23e70dc218d6c85f89b1", "title": "Step 38" @@ -27915,8 +25589,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-43", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-43" }, "id": "5efb2c990dc218d6c85f89b2", "title": "Step 43" @@ -27927,8 +25600,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-56", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-56" }, "id": "5efc4f528d6a74d05e68af74", "title": "Step 56" @@ -27939,8 +25611,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-57", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-57" }, "id": "5efc518e8d6a74d05e68af75", "title": "Step 57" @@ -27951,8 +25622,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-55", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-55" }, "id": "5efc54138d6a74d05e68af76", "title": "Step 55" @@ -27963,8 +25633,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-59", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-59" }, "id": "5efc575c8d6a74d05e68af77", "title": "Step 59" @@ -27975,8 +25644,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-47", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-47" }, "id": "5f05a1d8e233dff4a68508d8", "title": "Step 47" @@ -27987,8 +25655,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-16", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-16" }, "id": "5f07be6ef7412fbad0c5626b", "title": "Step 16" @@ -27999,8 +25666,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-17", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-17" }, "id": "5f07c98cdb9413cbd4b16750", "title": "Step 17" @@ -28011,8 +25677,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-33", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-33" }, "id": "5f07fb1579dc934717801375", "title": "Step 33" @@ -28023,8 +25688,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-51", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-51" }, "id": "5f0d48e7b435f13ab6550051", "title": "Step 51" @@ -28035,8 +25699,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-52", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-52" }, "id": "5f0d4ab1b435f13ab6550052", "title": "Step 52" @@ -28047,8 +25710,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-53", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-53" }, "id": "5f0d4d04b435f13ab6550053", "title": "Step 53" @@ -28059,8 +25721,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-49", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-49" }, "id": "5f1a80975fc4bcae0edb3497", "title": "Step 49" @@ -28071,8 +25732,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-60", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-60" }, "id": "5f1a89f1190aff21ae42105a", "title": "Step 60" @@ -28083,8 +25743,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-69", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-69" }, "id": "62bb4009e3458a128ff57d5d", "title": "Step 69" @@ -28095,8 +25754,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-13", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-13" }, "id": "62dabe2ef403a12d5d295273", "title": "Step 13" @@ -28107,8 +25765,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-39", - "blockName": "Learn HTML by Building a Cat Photo App" + "slug": "/learn/2022/responsive-web-design/learn-html-by-building-a-cat-photo-app/step-39" }, "id": "7cf9b03d81a65668421804c3", "title": "Step 39" @@ -28119,8 +25776,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-1", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-1" }, "id": "60eebd07ea685b0e777b5583", "title": "Step 1" @@ -28131,8 +25787,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-2", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-2" }, "id": "60f027099a15b00485563dd2", "title": "Step 2" @@ -28143,8 +25798,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-3", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-3" }, "id": "60f027c87bc98f050395c139", "title": "Step 3" @@ -28155,8 +25809,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-4", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-4" }, "id": "60f0286404aefb0562a4fdf9", "title": "Step 4" @@ -28167,8 +25820,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-6", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-6" }, "id": "60f02e7361b68405e27b62a5", "title": "Step 6" @@ -28179,8 +25831,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-7", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-7" }, "id": "60f030d388cb74067cf291c3", "title": "Step 7" @@ -28191,8 +25842,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-8", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-8" }, "id": "60f1922fcbd2410527b3bd89", "title": "Step 8" @@ -28203,8 +25853,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-9", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-9" }, "id": "60f1a5e2d2c23707a4f9a660", "title": "Step 9" @@ -28215,8 +25864,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-10", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-10" }, "id": "60f1a9cbd23023082e149fee", "title": "Step 10" @@ -28227,8 +25875,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-11", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-11" }, "id": "60f5c3e399ff1a05629964e4", "title": "Step 11" @@ -28239,8 +25886,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-13", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-13" }, "id": "60f5cb8875ab6a0610f05071", "title": "Step 13" @@ -28251,8 +25897,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-14", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-14" }, "id": "60f5d2776c854e069560fbe6", "title": "Step 14" @@ -28263,8 +25908,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-15", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-15" }, "id": "60f5dc35c07ac1078f140916", "title": "Step 15" @@ -28275,8 +25919,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-16", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-16" }, "id": "60f803d5241e6a0433a523a1", "title": "Step 16" @@ -28287,8 +25930,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-17", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-17" }, "id": "60f805f813eaf2049bc2ceea", "title": "Step 17" @@ -28299,8 +25941,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-19", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-19" }, "id": "60f80e0081e0f2052ae5b505", "title": "Step 19" @@ -28311,8 +25952,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-20", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-20" }, "id": "60f81167d0d4910809f88945", "title": "Step 20" @@ -28323,8 +25963,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-21", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-21" }, "id": "60f81616cff80508badf9ad5", "title": "Step 21" @@ -28335,8 +25974,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-22", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-22" }, "id": "60f83e7bfc09900959f41e20", "title": "Step 22" @@ -28347,8 +25985,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-23", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-23" }, "id": "60f84ec41116b209c280ba91", "title": "Step 23" @@ -28359,8 +25996,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-24", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-24" }, "id": "60f852f645b5310a8264f555", "title": "Step 24" @@ -28371,8 +26007,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-25", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-25" }, "id": "60f85a62fb30c80bcea0cedb", "title": "Step 25" @@ -28383,8 +26018,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-26", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-26" }, "id": "60f8604682407e0d017bbf7f", "title": "Step 26" @@ -28395,8 +26029,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-27", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-27" }, "id": "60f8618d191b940d62038513", "title": "Step 27" @@ -28407,8 +26040,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-28", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-28" }, "id": "60fab4a123ce4b04526b082b", "title": "Step 28" @@ -28419,8 +26051,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-30", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-30" }, "id": "60fab8367d35de04e5cb7929", "title": "Step 30" @@ -28431,8 +26062,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-31", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-31" }, "id": "60fab9f17fa294054b74228c", "title": "Step 31" @@ -28443,8 +26073,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-32", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-32" }, "id": "60fabf0dd4959805dbae09e6", "title": "Step 32" @@ -28455,8 +26084,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-33", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-33" }, "id": "60fac4095512d3066053d73c", "title": "Step 33" @@ -28467,8 +26095,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-34", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-34" }, "id": "60fac56271087806def55b33", "title": "Step 34" @@ -28479,8 +26106,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-35", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-35" }, "id": "60fac8d7fdfaee0796934f20", "title": "Step 35" @@ -28491,8 +26117,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-36", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-36" }, "id": "60faca286cb48b07f6482970", "title": "Step 36" @@ -28503,8 +26128,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-37", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-37" }, "id": "60facde2d0dc61085b41063f", "title": "Step 37" @@ -28515,8 +26139,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-39", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-39" }, "id": "60facf914c7b9b08d7510c2c", "title": "Step 39" @@ -28527,8 +26150,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-40", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-40" }, "id": "60fad0a812d9890938524f50", "title": "Step 40" @@ -28539,8 +26161,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-41", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-41" }, "id": "60fad1cafcde010995e15306", "title": "Step 41" @@ -28551,8 +26172,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-42", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-42" }, "id": "60fad6dfcc0d930a59becf12", "title": "Step 42" @@ -28563,8 +26183,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-43", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-43" }, "id": "60fad8e6148f310bba7890b1", "title": "Step 43" @@ -28575,8 +26194,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-44", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-44" }, "id": "60fad99e09f9d30c1657e790", "title": "Step 44" @@ -28587,8 +26205,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-45", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-45" }, "id": "60fadb18058e950c73925279", "title": "Step 45" @@ -28599,8 +26216,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-46", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-46" }, "id": "60fadce90f85c50d0bb0dd4f", "title": "Step 46" @@ -28611,8 +26227,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-48", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-48" }, "id": "60fadd972e6ffe0d6858fa2d", "title": "Step 48" @@ -28623,8 +26238,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-49", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-49" }, "id": "60fadfa2b540b70dcfa8b771", "title": "Step 49" @@ -28635,8 +26249,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-50", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-50" }, "id": "60fc219d333e37046f474a6e", "title": "Step 50" @@ -28647,8 +26260,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-51", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-51" }, "id": "60fc22d1e64d1b04cdd4e602", "title": "Step 51" @@ -28659,8 +26271,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-52", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-52" }, "id": "60fc236dc04532052926fdac", "title": "Step 52" @@ -28671,8 +26282,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-53", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-53" }, "id": "60ffe1bc30415f042faea936", "title": "Step 53" @@ -28683,8 +26293,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-54", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-54" }, "id": "60ffe3936796ac04959285a9", "title": "Step 54" @@ -28695,8 +26304,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-55", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-55" }, "id": "60ffe4f4ec18cd04dc470c56", "title": "Step 55" @@ -28707,8 +26315,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-56", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-56" }, "id": "60ffe69ee377c6055e192a46", "title": "Step 56" @@ -28719,8 +26326,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-57", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-57" }, "id": "60ffe7d8aae62c05bcc9e7eb", "title": "Step 57" @@ -28731,8 +26337,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-58", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-58" }, "id": "60ffe8a5ceb0e90618db06d9", "title": "Step 58" @@ -28743,8 +26348,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-59", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-59" }, "id": "60ffe947a868ec068f7850f6", "title": "Step 59" @@ -28755,8 +26359,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-60", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-60" }, "id": "60ffe9cb47809106eda2f2c9", "title": "Step 60" @@ -28767,8 +26370,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-61", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-61" }, "id": "60ffec2825da1007509ddd06", "title": "Step 61" @@ -28779,8 +26381,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-62", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-62" }, "id": "60ffecefac971607ae73c60f", "title": "Step 62" @@ -28791,8 +26392,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-63", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-63" }, "id": "60ffefd6479a3d084fb77cbc", "title": "Step 63" @@ -28803,8 +26403,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-47", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-47" }, "id": "62b30924c5e4ef0daba23b5e", "title": "Step 47" @@ -28815,8 +26414,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-5", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-5" }, "id": "62cc5b1779e4d313466f73c5", "title": "Step 5" @@ -28827,8 +26425,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-18", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-18" }, "id": "62ff8b9dab5ac88e4d3d43a3", "title": "Step 18" @@ -28839,8 +26436,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-29", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-29" }, "id": "62ff8e998d3e7eae14d6ae3b", "title": "Step 29" @@ -28851,8 +26447,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-38", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-38" }, "id": "62ff919a7b5612c0670923a5", "title": "Step 38" @@ -28863,8 +26458,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-12", - "blockName": "Learn HTML Forms by Building a Registration Form" + "slug": "/learn/2022/responsive-web-design/learn-html-forms-by-building-a-registration-form/step-12" }, "id": "63541ef4f96cd82e8e6c788a", "title": "Step 12" @@ -28875,8 +26469,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-1", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-1" }, "id": "60b69a66b6ddb80858c51578", "title": "Step 1" @@ -28887,8 +26480,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-2", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-2" }, "id": "60b69a66b6ddb80858c51579", "title": "Step 2" @@ -28899,8 +26491,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-4", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-4" }, "id": "60b69a66b6ddb80858c5157a", "title": "Step 4" @@ -28911,8 +26502,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-5", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-5" }, "id": "60b69a66b6ddb80858c5157b", "title": "Step 5" @@ -28923,8 +26513,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-6", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-6" }, "id": "60b69a66b6ddb80858c5157c", "title": "Step 6" @@ -28935,8 +26524,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-7", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-7" }, "id": "60b69a66b6ddb80858c5157d", "title": "Step 7" @@ -28947,8 +26535,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-8", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-8" }, "id": "60b69a66b6ddb80858c5157e", "title": "Step 8" @@ -28959,8 +26546,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-9", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-9" }, "id": "60b69a66b6ddb80858c5157f", "title": "Step 9" @@ -28971,8 +26557,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-10", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-10" }, "id": "60b69a66b6ddb80858c51580", "title": "Step 10" @@ -28983,8 +26568,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-11", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-11" }, "id": "60b69a66b6ddb80858c51581", "title": "Step 11" @@ -28995,8 +26579,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-12", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-12" }, "id": "60b69a66b6ddb80858c51582", "title": "Step 12" @@ -29007,8 +26590,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-13", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-13" }, "id": "60b69a66b6ddb80858c51583", "title": "Step 13" @@ -29019,8 +26601,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-14", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-14" }, "id": "60b69a66b6ddb80858c51584", "title": "Step 14" @@ -29031,8 +26612,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-15", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-15" }, "id": "60b69a66b6ddb80858c51585", "title": "Step 15" @@ -29043,8 +26623,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-16", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-16" }, "id": "60b69a66b6ddb80858c51586", "title": "Step 16" @@ -29055,8 +26634,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-17", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-17" }, "id": "60b69a66b6ddb80858c51587", "title": "Step 17" @@ -29067,8 +26645,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-18", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-18" }, "id": "60b69a66b6ddb80858c51588", "title": "Step 18" @@ -29079,8 +26656,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-19", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-19" }, "id": "60b69a66b6ddb80858c51589", "title": "Step 19" @@ -29091,8 +26667,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-20", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-20" }, "id": "60b69a66b6ddb80858c5158a", "title": "Step 20" @@ -29103,8 +26678,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-21", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-21" }, "id": "60b69a66b6ddb80858c5158b", "title": "Step 21" @@ -29115,8 +26689,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-22", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-22" }, "id": "60b69a66b6ddb80858c5158c", "title": "Step 22" @@ -29127,8 +26700,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-23", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-23" }, "id": "60b69a66b6ddb80858c5158d", "title": "Step 23" @@ -29139,8 +26711,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-24", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-24" }, "id": "60b69a66b6ddb80858c5158e", "title": "Step 24" @@ -29151,8 +26722,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-25", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-25" }, "id": "60b69a66b6ddb80858c5158f", "title": "Step 25" @@ -29163,8 +26733,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-26", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-26" }, "id": "60b69a66b6ddb80858c51590", "title": "Step 26" @@ -29175,8 +26744,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-27", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-27" }, "id": "60b69a66b6ddb80858c51591", "title": "Step 27" @@ -29187,8 +26755,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-28", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-28" }, "id": "60b69a66b6ddb80858c51592", "title": "Step 28" @@ -29199,8 +26766,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-29", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-29" }, "id": "60b69a66b6ddb80858c51593", "title": "Step 29" @@ -29211,8 +26777,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-30", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-30" }, "id": "60b69a66b6ddb80858c51594", "title": "Step 30" @@ -29223,8 +26788,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-31", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-31" }, "id": "60b69a66b6ddb80858c51595", "title": "Step 31" @@ -29235,8 +26799,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-32", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-32" }, "id": "60b69a66b6ddb80858c51596", "title": "Step 32" @@ -29247,8 +26810,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-33", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-33" }, "id": "60b69a66b6ddb80858c51597", "title": "Step 33" @@ -29259,8 +26821,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-34", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-34" }, "id": "60b69a66b6ddb80858c51598", "title": "Step 34" @@ -29271,8 +26832,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-35", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-35" }, "id": "60b69a66b6ddb80858c51599", "title": "Step 35" @@ -29283,8 +26843,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-36", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-36" }, "id": "60b69a66b6ddb80858c5159a", "title": "Step 36" @@ -29295,8 +26854,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-37", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-37" }, "id": "60b69a66b6ddb80858c5159b", "title": "Step 37" @@ -29307,8 +26865,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-38", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-38" }, "id": "60b69a66b6ddb80858c5159c", "title": "Step 38" @@ -29319,8 +26876,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-39", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-39" }, "id": "60b69a66b6ddb80858c5159d", "title": "Step 39" @@ -29331,8 +26887,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-40", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-40" }, "id": "60b69a66b6ddb80858c5159e", "title": "Step 40" @@ -29343,8 +26898,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-42", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-42" }, "id": "60b69a66b6ddb80858c5159f", "title": "Step 42" @@ -29355,8 +26909,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-43", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-43" }, "id": "60b69a66b6ddb80858c515a0", "title": "Step 43" @@ -29367,8 +26920,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-44", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-44" }, "id": "60b69a66b6ddb80858c515a1", "title": "Step 44" @@ -29379,8 +26931,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-45", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-45" }, "id": "60b69a66b6ddb80858c515a2", "title": "Step 45" @@ -29391,8 +26942,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-46", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-46" }, "id": "60b69a66b6ddb80858c515a3", "title": "Step 46" @@ -29403,8 +26953,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-47", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-47" }, "id": "60b69a66b6ddb80858c515a4", "title": "Step 47" @@ -29415,8 +26964,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-48", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-48" }, "id": "60b69a66b6ddb80858c515a5", "title": "Step 48" @@ -29427,8 +26975,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-49", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-49" }, "id": "60b69a66b6ddb80858c515a6", "title": "Step 49" @@ -29439,8 +26986,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-50", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-50" }, "id": "60b69a66b6ddb80858c515a7", "title": "Step 50" @@ -29451,8 +26997,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-51", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-51" }, "id": "60b69a66b6ddb80858c515a8", "title": "Step 51" @@ -29463,8 +27008,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-52", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-52" }, "id": "60b69a66b6ddb80858c515a9", "title": "Step 52" @@ -29475,8 +27019,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-53", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-53" }, "id": "60b69a66b6ddb80858c515aa", "title": "Step 53" @@ -29487,8 +27030,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-54", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-54" }, "id": "60b69a66b6ddb80858c515ab", "title": "Step 54" @@ -29499,8 +27041,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-55", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-55" }, "id": "60b69a66b6ddb80858c515ac", "title": "Step 55" @@ -29511,8 +27052,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-56", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-56" }, "id": "60b69a66b6ddb80858c515ad", "title": "Step 56" @@ -29523,8 +27063,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-57", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-57" }, "id": "60b69a66b6ddb80858c515ae", "title": "Step 57" @@ -29535,8 +27074,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-58", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-58" }, "id": "60b69a66b6ddb80858c515af", "title": "Step 58" @@ -29547,8 +27085,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-59", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-59" }, "id": "60b69a66b6ddb80858c515b0", "title": "Step 59" @@ -29559,8 +27096,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-60", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-60" }, "id": "60b69a66b6ddb80858c515b1", "title": "Step 60" @@ -29571,8 +27107,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-61", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-61" }, "id": "60b69a66b6ddb80858c515b2", "title": "Step 61" @@ -29583,8 +27118,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-62", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-62" }, "id": "60b69a66b6ddb80858c515b3", "title": "Step 62" @@ -29595,8 +27129,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-63", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-63" }, "id": "60b69a66b6ddb80858c515b4", "title": "Step 63" @@ -29607,8 +27140,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-64", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-64" }, "id": "60b69a66b6ddb80858c515b5", "title": "Step 64" @@ -29619,8 +27151,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-65", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-65" }, "id": "60b69a66b6ddb80858c515b6", "title": "Step 65" @@ -29631,8 +27162,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-66", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-66" }, "id": "60b69a66b6ddb80858c515b7", "title": "Step 66" @@ -29643,8 +27173,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-67", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-67" }, "id": "60b69a66b6ddb80858c515b8", "title": "Step 67" @@ -29655,8 +27184,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-68", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-68" }, "id": "60b69a66b6ddb80858c515b9", "title": "Step 68" @@ -29667,8 +27195,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-69", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-69" }, "id": "60b69a66b6ddb80858c515ba", "title": "Step 69" @@ -29679,8 +27206,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-70", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-70" }, "id": "60b69a66b6ddb80858c515bc", "title": "Step 70" @@ -29691,8 +27217,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-79", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-79" }, "id": "60b69a66b6ddb80858c515bd", "title": "Step 79" @@ -29703,8 +27228,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-80", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-80" }, "id": "60b69a66b6ddb80858c515be", "title": "Step 80" @@ -29715,8 +27239,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-81", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-81" }, "id": "60b69a66b6ddb80858c515bf", "title": "Step 81" @@ -29727,8 +27250,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-82", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-82" }, "id": "60b69a66b6ddb80858c515c0", "title": "Step 82" @@ -29739,8 +27261,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-83", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-83" }, "id": "60b69a66b6ddb80858c515c1", "title": "Step 83" @@ -29751,8 +27272,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-84", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-84" }, "id": "60b69a66b6ddb80858c515c2", "title": "Step 84" @@ -29763,8 +27283,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-85", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-85" }, "id": "60b69a66b6ddb80858c515c3", "title": "Step 85" @@ -29775,8 +27294,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-86", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-86" }, "id": "60b69a66b6ddb80858c515c4", "title": "Step 86" @@ -29787,8 +27305,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-87", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-87" }, "id": "60b69a66b6ddb80858c515c5", "title": "Step 87" @@ -29799,8 +27316,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-88", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-88" }, "id": "60b69a66b6ddb80858c515c6", "title": "Step 88" @@ -29811,8 +27327,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-89", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-89" }, "id": "60b69a66b6ddb80858c515c7", "title": "Step 89" @@ -29823,8 +27338,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-3", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-3" }, "id": "60b80da8676fb3227967a731", "title": "Step 3" @@ -29835,8 +27349,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-75", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-75" }, "id": "60ba890832b4940f24d1936b", "title": "Step 75" @@ -29847,8 +27360,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-74", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-74" }, "id": "60ba89123a445e0f5c9e4022", "title": "Step 74" @@ -29859,8 +27371,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-73", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-73" }, "id": "60ba8913f1704c0f7a8906b8", "title": "Step 73" @@ -29871,8 +27382,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-72", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-72" }, "id": "60ba89146b25080f99ab54ad", "title": "Step 72" @@ -29883,8 +27393,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-71", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-71" }, "id": "60ba8914bab51f0fb8228e9c", "title": "Step 71" @@ -29895,8 +27404,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-76", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-76" }, "id": "60ba929345ab0714a3743655", "title": "Step 76" @@ -29907,8 +27415,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-77", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-77" }, "id": "60ba9296d4d6b414c1b10995", "title": "Step 77" @@ -29919,8 +27426,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-78", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-78" }, "id": "60ba92987c1e4914dfa7a0b9", "title": "Step 78" @@ -29931,8 +27437,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-41", - "blockName": "Learn Intermediate CSS by Building a Picasso Painting" + "slug": "/learn/2022/responsive-web-design/learn-intermediate-css-by-building-a-picasso-painting/step-41" }, "id": "60bad32219ebcb4a8810ac6a", "title": "Step 41" @@ -29943,8 +27448,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-1", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-1" }, "id": "61fd5a93fd62bb35968adeab", "title": "Step 1" @@ -29955,8 +27459,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-2", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-2" }, "id": "61fd6343fb42013d99bcd7f3", "title": "Step 2" @@ -29967,8 +27470,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-3", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-3" }, "id": "61fd66c687e610436494c6f1", "title": "Step 3" @@ -29979,8 +27481,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-4", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-4" }, "id": "61fd67a656743144844941cb", "title": "Step 4" @@ -29991,8 +27492,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-5", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-5" }, "id": "61fd6ab779390f49148773bb", "title": "Step 5" @@ -30003,8 +27503,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-6", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-6" }, "id": "61fd6b7c83dbf54a08cf0498", "title": "Step 6" @@ -30015,8 +27514,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-7", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-7" }, "id": "61fd6cc9475a784b7776233e", "title": "Step 7" @@ -30027,8 +27525,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-8", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-8" }, "id": "61fd70336ebb3e4f62ee81ba", "title": "Step 8" @@ -30039,8 +27536,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-9", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-9" }, "id": "61fd719788899952e67692b9", "title": "Step 9" @@ -30051,8 +27547,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-10", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-10" }, "id": "61fd71d596e8f253b9408b39", "title": "Step 10" @@ -30063,8 +27558,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-11", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-11" }, "id": "61fd75ea7f663457612dba02", "title": "Step 11" @@ -30075,8 +27569,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-12", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-12" }, "id": "61fd7648a7ba2e5882436831", "title": "Step 12" @@ -30087,8 +27580,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-13", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-13" }, "id": "61fd778081276b59d59abad6", "title": "Step 13" @@ -30099,8 +27591,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-14", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-14" }, "id": "61fd77f7ad2aeb5ae34d07d6", "title": "Step 14" @@ -30111,8 +27602,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-15", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-15" }, "id": "61fd78621573aa5e8b512f5e", "title": "Step 15" @@ -30123,8 +27613,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-16", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-16" }, "id": "61fd7a160ed17960e971f28b", "title": "Step 16" @@ -30135,8 +27624,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-17", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-17" }, "id": "61fd7b3fcaa5406257abc5d1", "title": "Step 17" @@ -30147,8 +27635,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-18", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-18" }, "id": "61fd8e491324ce717da97ffe", "title": "Step 18" @@ -30159,8 +27646,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-19", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-19" }, "id": "61fd8fd08af43372f02952d0", "title": "Step 19" @@ -30171,8 +27657,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-20", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-20" }, "id": "61fd9126aa72a474301fc49f", "title": "Step 20" @@ -30183,8 +27668,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-21", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-21" }, "id": "61fd933ba685de776a94997e", "title": "Step 21" @@ -30195,8 +27679,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-22", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-22" }, "id": "61fd94056e0355785fbba4d3", "title": "Step 22" @@ -30207,8 +27690,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-23", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-23" }, "id": "61fd986ddbcbd47ba8fbc5ec", "title": "Step 23" @@ -30219,8 +27701,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-24", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-24" }, "id": "61fd990577d8227dd93fbeeb", "title": "Step 24" @@ -30231,8 +27712,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-25", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-25" }, "id": "61fd9a4ff2fc4481b9157bd7", "title": "Step 25" @@ -30243,8 +27723,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-26", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-26" }, "id": "61fd9ad665a4a282c8106be3", "title": "Step 26" @@ -30255,8 +27734,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-27", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-27" }, "id": "61fd9b7285bde783ad5b8aac", "title": "Step 27" @@ -30267,8 +27745,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-28", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-28" }, "id": "61fd9d9fbdfe078800317055", "title": "Step 28" @@ -30279,8 +27756,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-29", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-29" }, "id": "61fda307bde0b091cf7d884a", "title": "Step 29" @@ -30291,8 +27767,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-30", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-30" }, "id": "61fda339eadcfd92a6812bed", "title": "Step 30" @@ -30303,8 +27778,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-31", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-31" }, "id": "61fdac1e31692f9a9ad97295", "title": "Step 31" @@ -30315,8 +27789,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-32", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-32" }, "id": "61fdaea3999cb19d76ce717b", "title": "Step 32" @@ -30327,8 +27800,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-33", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-33" }, "id": "61fdaf9ff894b6a084ecdc1b", "title": "Step 33" @@ -30339,8 +27811,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-34", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-34" }, "id": "61fdafe6f07fd7a1c6785bc2", "title": "Step 34" @@ -30351,8 +27822,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-35", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-35" }, "id": "61fdb04d9939f0a26ca51c2b", "title": "Step 35" @@ -30363,8 +27833,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-36", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-36" }, "id": "620159cd5431aa34bc6a4c9c", "title": "Step 36" @@ -30375,8 +27844,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-37", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-37" }, "id": "62015a5da1c95c358f079ebb", "title": "Step 37" @@ -30387,8 +27855,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-38", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-38" }, "id": "62015cd2654a1139321a89d2", "title": "Step 38" @@ -30399,8 +27866,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-39", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-39" }, "id": "62015d8942384c3aed48329e", "title": "Step 39" @@ -30411,8 +27877,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-40", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-40" }, "id": "620167374bb8b4455cd11125", "title": "Step 40" @@ -30423,8 +27888,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-41", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-41" }, "id": "620174ed519dd7506c1a4b61", "title": "Step 41" @@ -30435,8 +27899,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-42", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-42" }, "id": "620175b3710a0951cfa86edf", "title": "Step 42" @@ -30447,8 +27910,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-43", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-43" }, "id": "6201782cc420715562f36271", "title": "Step 43" @@ -30459,8 +27921,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-44", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-44" }, "id": "620179bc0a6a2358c72b90ad", "title": "Step 44" @@ -30471,8 +27932,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-45", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-45" }, "id": "62017b6f47454059bf2d3bd1", "title": "Step 45" @@ -30483,8 +27943,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-46", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-46" }, "id": "62017f47c87be96457c49f46", "title": "Step 46" @@ -30495,8 +27954,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-47", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-47" }, "id": "62017fa5bbef406580ceb44f", "title": "Step 47" @@ -30507,8 +27965,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-48", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-48" }, "id": "62018243f046a368fab8ffb6", "title": "Step 48" @@ -30519,8 +27976,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-49", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-49" }, "id": "6201830cb0c74b69f1b41635", "title": "Step 49" @@ -30531,8 +27987,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-50", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-50" }, "id": "620186f4b6b8356d2def576b", "title": "Step 50" @@ -30543,8 +27998,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-51", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-51" }, "id": "62018ba1aa263770c953be66", "title": "Step 51" @@ -30555,8 +28009,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-52", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-52" }, "id": "62018c3e94434a71af1d5eaa", "title": "Step 52" @@ -30567,8 +28020,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-53", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-53" }, "id": "62018ec29b3ae674f40bef31", "title": "Step 53" @@ -30579,8 +28031,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-54", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-54" }, "id": "62019093fe30e278e797d2f6", "title": "Step 54" @@ -30591,8 +28042,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-55", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-55" }, "id": "620191707bc65579ddd3ce15", "title": "Step 55" @@ -30603,8 +28053,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-56", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-56" }, "id": "620192a767533a7ad19d96d7", "title": "Step 56" @@ -30615,8 +28064,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-57", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-57" }, "id": "6201995d9ab88e80f1989dce", "title": "Step 57" @@ -30627,8 +28075,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-58", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-58" }, "id": "620199c7a7a32c81d4db3410", "title": "Step 58" @@ -30639,8 +28086,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-59", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-59" }, "id": "6201a1a7af32c287bd6b8183", "title": "Step 59" @@ -30651,8 +28097,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-60", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-60" }, "id": "6201a1cc668a34888f5b2f52", "title": "Step 60" @@ -30663,8 +28108,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-61", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-61" }, "id": "6201a20d742f5c89736c8cfb", "title": "Step 61" @@ -30675,8 +28119,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-62", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-62" }, "id": "6201a42e39bf3b95b6a33bf3", "title": "Step 62" @@ -30687,8 +28130,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-63", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-63" }, "id": "6201a4adcc6414968b391592", "title": "Step 63" @@ -30699,8 +28141,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-64", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-64" }, "id": "6201a5258af7b398b030bfaf", "title": "Step 64" @@ -30711,8 +28152,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-65", - "blockName": "Learn More About CSS Pseudo Selectors by Building A Balance Sheet" + "slug": "/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-65" }, "id": "6201a59be346d399c21d10b1", "title": "Step 65" @@ -30723,8 +28163,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-1", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-1" }, "id": "612e6afc009b450a437940a1", "title": "Step 1" @@ -30735,8 +28174,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-2", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-2" }, "id": "612e77aba7ca691f598feb02", "title": "Step 2" @@ -30747,8 +28185,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-3", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-3" }, "id": "612e78af05201622d4bab8aa", "title": "Step 3" @@ -30759,8 +28196,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-4", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-4" }, "id": "612e7d1c29fb872d6384379c", "title": "Step 4" @@ -30771,8 +28207,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-5", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-5" }, "id": "612e804c54d5e7308d7ebe56", "title": "Step 5" @@ -30783,8 +28218,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-6", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-6" }, "id": "612e813b3ba67633222cbe54", "title": "Step 6" @@ -30795,8 +28229,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-7", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-7" }, "id": "612e8279827a28352ce83a72", "title": "Step 7" @@ -30807,8 +28240,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-8", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-8" }, "id": "612e83ec2eca1e370f830511", "title": "Step 8" @@ -30819,8 +28251,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-9", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-9" }, "id": "612e89562043183c86df287c", "title": "Step 9" @@ -30831,8 +28262,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-10", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-10" }, "id": "612e89d254fe5d3df7d6693d", "title": "Step 10" @@ -30843,8 +28273,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-11", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-11" }, "id": "612e8eebe3a6dc3fcc33a66f", "title": "Step 11" @@ -30855,8 +28284,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-12", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-12" }, "id": "612e95ef2e4bdf41f69067f9", "title": "Step 12" @@ -30867,8 +28295,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-13", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-13" }, "id": "612e96fc87fe8e44f69f7ec5", "title": "Step 13" @@ -30879,8 +28306,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-14", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-14" }, "id": "612e98f3245c98475e49cfc6", "title": "Step 14" @@ -30891,8 +28317,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-15", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-15" }, "id": "612e9a21381a1949327512e6", "title": "Step 15" @@ -30903,8 +28328,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-16", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-16" }, "id": "612e9d142affc44a453655db", "title": "Step 16" @@ -30915,8 +28339,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-17", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-17" }, "id": "612e9f1e7e5ccd4fa9ada0be", "title": "Step 17" @@ -30927,8 +28350,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-18", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-18" }, "id": "612ea4c4993aba52ab4aa32e", "title": "Step 18" @@ -30939,8 +28361,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-19", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-19" }, "id": "612ea97df5742154772f312e", "title": "Step 19" @@ -30951,8 +28372,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-20", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-20" }, "id": "612ead8788d28655ef8db056", "title": "Step 20" @@ -30963,8 +28383,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-21", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-21" }, "id": "612eaf56b7ba3257fdbfb0db", "title": "Step 21" @@ -30975,8 +28394,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-22", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-22" }, "id": "612eb4893b63c75bb9251ddf", "title": "Step 22" @@ -30987,8 +28405,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-23", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-23" }, "id": "612eb75153591b5e3b1ab65e", "title": "Step 23" @@ -30999,8 +28416,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-24", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-24" }, "id": "612eb7ca8c275d5f89c73333", "title": "Step 24" @@ -31011,8 +28427,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-25", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-25" }, "id": "612eb8e984cd73677a92b7e9", "title": "Step 25" @@ -31023,8 +28438,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-26", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-26" }, "id": "612eb934f64a4d6890a45518", "title": "Step 26" @@ -31035,8 +28449,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-27", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-27" }, "id": "612ebcba99bfa46a15370b11", "title": "Step 27" @@ -31047,8 +28460,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-28", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-28" }, "id": "612ebe7fe6d07e6b76d1cae2", "title": "Step 28" @@ -31059,8 +28471,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-29", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-29" }, "id": "612ebedec97e096c8bf64999", "title": "Step 29" @@ -31071,8 +28482,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-30", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-30" }, "id": "612ebf9a210f2b6d77001e68", "title": "Step 30" @@ -31083,8 +28493,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-31", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-31" }, "id": "612ec0490ae8626e9adf82e4", "title": "Step 31" @@ -31095,8 +28504,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-32", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-32" }, "id": "612ec19d5268da7074941f84", "title": "Step 32" @@ -31107,8 +28515,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-33", - "blockName": "Learn Responsive Web Design by Building a Piano" + "slug": "/learn/2022/responsive-web-design/learn-responsive-web-design-by-building-a-piano/step-33" }, "id": "612ec29c84b9a6718b1f5cec", "title": "Step 33" @@ -31119,8 +28526,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-1", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-1" }, "id": "60a3e3396c7b40068ad6996a", "title": "Step 1" @@ -31131,8 +28537,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-2", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-2" }, "id": "60a3e3396c7b40068ad6996b", "title": "Step 2" @@ -31143,8 +28548,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-3", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-3" }, "id": "60a3e3396c7b40068ad6996c", "title": "Step 3" @@ -31155,8 +28559,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-4", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-4" }, "id": "60a3e3396c7b40068ad6996d", "title": "Step 4" @@ -31167,8 +28570,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-5", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-5" }, "id": "60a3e3396c7b40068ad6996e", "title": "Step 5" @@ -31179,8 +28581,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-6", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-6" }, "id": "60a3e3396c7b40068ad6996f", "title": "Step 6" @@ -31191,8 +28592,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-7", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-7" }, "id": "60a3e3396c7b40068ad69970", "title": "Step 7" @@ -31203,8 +28603,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-8", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-8" }, "id": "60a3e3396c7b40068ad69971", "title": "Step 8" @@ -31215,8 +28614,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-9", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-9" }, "id": "60a3e3396c7b40068ad69972", "title": "Step 9" @@ -31227,8 +28625,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-10", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-10" }, "id": "60a3e3396c7b40068ad69973", "title": "Step 10" @@ -31239,8 +28636,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-11", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-11" }, "id": "60a3e3396c7b40068ad69974", "title": "Step 11" @@ -31251,8 +28647,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-12", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-12" }, "id": "60a3e3396c7b40068ad69975", "title": "Step 12" @@ -31263,8 +28658,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-13", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-13" }, "id": "60a3e3396c7b40068ad69976", "title": "Step 13" @@ -31275,8 +28669,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-14", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-14" }, "id": "60a3e3396c7b40068ad69977", "title": "Step 14" @@ -31287,8 +28680,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-15", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-15" }, "id": "60a3e3396c7b40068ad69978", "title": "Step 15" @@ -31299,8 +28691,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-16", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-16" }, "id": "60a3e3396c7b40068ad69979", "title": "Step 16" @@ -31311,8 +28702,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-17", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-17" }, "id": "60a3e3396c7b40068ad6997a", "title": "Step 17" @@ -31323,8 +28713,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-18", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-18" }, "id": "60a3e3396c7b40068ad6997b", "title": "Step 18" @@ -31335,8 +28724,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-19", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-19" }, "id": "60a3e3396c7b40068ad6997c", "title": "Step 19" @@ -31347,8 +28735,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-20", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-20" }, "id": "60a3e3396c7b40068ad6997d", "title": "Step 20" @@ -31359,8 +28746,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-21", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-21" }, "id": "60a3e3396c7b40068ad6997e", "title": "Step 21" @@ -31371,8 +28757,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-22", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-22" }, "id": "60a3e3396c7b40068ad6997f", "title": "Step 22" @@ -31383,8 +28768,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-23", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-23" }, "id": "60a3e3396c7b40068ad69980", "title": "Step 23" @@ -31395,8 +28779,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-24", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-24" }, "id": "60a3e3396c7b40068ad69981", "title": "Step 24" @@ -31407,8 +28790,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-25", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-25" }, "id": "60a3e3396c7b40068ad69982", "title": "Step 25" @@ -31419,8 +28801,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-26", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-26" }, "id": "60a3e3396c7b40068ad69983", "title": "Step 26" @@ -31431,8 +28812,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-27", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-27" }, "id": "60a3e3396c7b40068ad69984", "title": "Step 27" @@ -31443,8 +28823,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-28", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-28" }, "id": "60a3e3396c7b40068ad69986", "title": "Step 28" @@ -31455,8 +28834,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-29", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-29" }, "id": "60a3e3396c7b40068ad69987", "title": "Step 29" @@ -31467,8 +28845,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-30", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-30" }, "id": "60a3e3396c7b40068ad69988", "title": "Step 30" @@ -31479,8 +28856,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-31", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-31" }, "id": "60a3e3396c7b40068ad69989", "title": "Step 31" @@ -31491,8 +28867,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-32", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-32" }, "id": "60a3e3396c7b40068ad6998a", "title": "Step 32" @@ -31503,8 +28878,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-33", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-33" }, "id": "60a3e3396c7b40068ad6998b", "title": "Step 33" @@ -31515,8 +28889,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-34", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-34" }, "id": "60a3e3396c7b40068ad6998c", "title": "Step 34" @@ -31527,8 +28900,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-35", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-35" }, "id": "60a3e3396c7b40068ad6998d", "title": "Step 35" @@ -31539,8 +28911,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-36", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-36" }, "id": "60a3e3396c7b40068ad6998e", "title": "Step 36" @@ -31551,8 +28922,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-37", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-37" }, "id": "60a3e3396c7b40068ad6998f", "title": "Step 37" @@ -31563,8 +28933,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-38", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-38" }, "id": "60a3e3396c7b40068ad69990", "title": "Step 38" @@ -31575,8 +28944,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-39", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-39" }, "id": "60a3e3396c7b40068ad69991", "title": "Step 39" @@ -31587,8 +28955,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-40", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-40" }, "id": "60a3e3396c7b40068ad69992", "title": "Step 40" @@ -31599,8 +28966,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-41", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-41" }, "id": "60a3e3396c7b40068ad69993", "title": "Step 41" @@ -31611,8 +28977,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-42", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-42" }, "id": "60a3e3396c7b40068ad69994", "title": "Step 42" @@ -31623,8 +28988,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-43", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-43" }, "id": "60a3e3396c7b40068ad69995", "title": "Step 43" @@ -31635,8 +28999,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-44", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-44" }, "id": "60a3e3396c7b40068ad69996", "title": "Step 44" @@ -31647,8 +29010,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-45", - "blockName": "Learn the CSS Box Model by Building a Rothko Painting" + "slug": "/learn/2022/responsive-web-design/learn-the-css-box-model-by-building-a-rothko-painting/step-45" }, "id": "60a3e3396c7b40068ad69997", "title": "Step 45" @@ -31659,8 +29021,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-1", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-1" }, "id": "615f2abbe7d18d49a1e0e1c8", "title": "Step 1" @@ -31671,8 +29032,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-2", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-2" }, "id": "615f2d4150fe0d4cbd0f2628", "title": "Step 2" @@ -31683,8 +29043,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-3", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-3" }, "id": "615f34948891834dd77655a6", "title": "Step 3" @@ -31695,8 +29054,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-4", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-4" }, "id": "615f34ecc1091b4fd5a8a484", "title": "Step 4" @@ -31707,8 +29065,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-5", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-5" }, "id": "615f357957e370510f21ea16", "title": "Step 5" @@ -31719,8 +29076,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-6", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-6" }, "id": "615f378014c2da526a109c81", "title": "Step 6" @@ -31731,8 +29087,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-7", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-7" }, "id": "615f38279e5c3d53692ea441", "title": "Step 7" @@ -31743,8 +29098,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-8", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-8" }, "id": "615f38cabc64e3556f98cc1a", "title": "Step 8" @@ -31755,8 +29109,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-9", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-9" }, "id": "615f3949f58e12577dcefb00", "title": "Step 9" @@ -31767,8 +29120,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-10", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-10" }, "id": "615f39d7da41b15851fa3fb9", "title": "Step 10" @@ -31779,8 +29131,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-11", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-11" }, "id": "615f3b091162165948e1cb33", "title": "Step 11" @@ -31791,8 +29142,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-12", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-12" }, "id": "615f3cafd794015aa9547a6d", "title": "Step 12" @@ -31803,8 +29153,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-13", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-13" }, "id": "615f3d9e59db4b5b8e960762", "title": "Step 13" @@ -31815,8 +29164,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-14", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-14" }, "id": "615f3e1b7233ee5c7595771f", "title": "Step 14" @@ -31827,8 +29175,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-15", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-15" }, "id": "615f3e4af8008c5d494d3afe", "title": "Step 15" @@ -31839,8 +29186,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-16", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-16" }, "id": "615f3ed16592445e57941aec", "title": "Step 16" @@ -31851,8 +29197,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-17", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-17" }, "id": "615f405b89a7ec5f8e2d11f4", "title": "Step 17" @@ -31863,8 +29208,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-18", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-18" }, "id": "615f40b01f680e608d360ed4", "title": "Step 18" @@ -31875,8 +29219,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-19", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-19" }, "id": "615f4172e9eec061d6456221", "title": "Step 19" @@ -31887,8 +29230,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-20", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-20" }, "id": "615f41c979787462e76dab90", "title": "Step 20" @@ -31899,8 +29241,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-21", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-21" }, "id": "615f423cf65d5864132a0956", "title": "Step 21" @@ -31911,8 +29252,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-22", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-22" }, "id": "615f42a021625f656101ef93", "title": "Step 22" @@ -31923,8 +29263,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-23", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-23" }, "id": "615f4bfb9de4a16703b56eb6", "title": "Step 23" @@ -31935,8 +29274,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-24", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-24" }, "id": "615f4ce9d877b668417c0c42", "title": "Step 24" @@ -31947,8 +29285,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-25", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-25" }, "id": "615f4dde9d72e3694cb9ee3b", "title": "Step 25" @@ -31959,8 +29296,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-26", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-26" }, "id": "615f4ec58334106a4170c2a8", "title": "Step 26" @@ -31971,8 +29307,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-27", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-27" }, "id": "615f4f9e4a40566b776a8f38", "title": "Step 27" @@ -31983,8 +29318,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-28", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-28" }, "id": "615f50473cc0196c6dd3892a", "title": "Step 28" @@ -31995,8 +29329,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-29", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-29" }, "id": "615f51257a8a516d80b6c743", "title": "Step 29" @@ -32007,8 +29340,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-30", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-30" }, "id": "615f51e4e5b24a6e80eccce1", "title": "Step 30" @@ -32019,8 +29351,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-31", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-31" }, "id": "615f522dea4f776f64dc3e91", "title": "Step 31" @@ -32031,8 +29362,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-32", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-32" }, "id": "615f5486b8fd4b71633f69b0", "title": "Step 32" @@ -32043,8 +29373,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-33", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-33" }, "id": "615f575b50b91e72af079480", "title": "Step 33" @@ -32055,8 +29384,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-34", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-34" }, "id": "615f5af373a68e744a3c5a76", "title": "Step 34" @@ -32067,8 +29395,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-35", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-35" }, "id": "615f5c1cb7575c7551ed8a40", "title": "Step 35" @@ -32079,8 +29406,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-36", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-36" }, "id": "615f5fd85d0062761f288364", "title": "Step 36" @@ -32091,8 +29417,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-37", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-37" }, "id": "615f61338c8ca176d6445574", "title": "Step 37" @@ -32103,8 +29428,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-38", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-38" }, "id": "615f666ac5edea782feb7e75", "title": "Step 38" @@ -32115,8 +29439,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-39", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-39" }, "id": "615f671b6d1919792745aa5d", "title": "Step 39" @@ -32127,8 +29450,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-40", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-40" }, "id": "615f6823d0815b7a991f2a75", "title": "Step 40" @@ -32139,8 +29461,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-41", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-41" }, "id": "615f6a7d4ba8037bc086c2c7", "title": "Step 41" @@ -32151,8 +29472,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-42", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-42" }, "id": "615f6b2d164f81809efd9bdc", "title": "Step 42" @@ -32163,8 +29483,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-43", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-43" }, "id": "615f6cc778f7698258467596", "title": "Step 43" @@ -32175,8 +29494,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-44", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-44" }, "id": "615f6fddaac1e083502d3e6a", "title": "Step 44" @@ -32187,8 +29505,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-45", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-45" }, "id": "615f70077a4ff98424236c1e", "title": "Step 45" @@ -32199,8 +29516,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-46", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-46" }, "id": "615f72a872354a850d4f533e", "title": "Step 46" @@ -32211,8 +29527,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-47", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-47" }, "id": "615f74a71f1e498619e38ee8", "title": "Step 47" @@ -32223,8 +29538,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-48", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-48" }, "id": "615f7ad94380408d971d14f6", "title": "Step 48" @@ -32235,8 +29549,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-49", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-49" }, "id": "615f7bc680f7168ea01ebf99", "title": "Step 49" @@ -32247,8 +29560,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-50", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-50" }, "id": "615f7c71eab8218f846e4503", "title": "Step 50" @@ -32259,8 +29571,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-51", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-51" }, "id": "615f7d489a581590d1350288", "title": "Step 51" @@ -32271,8 +29582,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-52", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-52" }, "id": "615f7de4487b64919bb4aa5e", "title": "Step 52" @@ -32283,8 +29593,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-53", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-53" }, "id": "615f7e7281626a92bbd62da8", "title": "Step 53" @@ -32295,8 +29604,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-54", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-54" }, "id": "615f7ecb09de9a938ef94756", "title": "Step 54" @@ -32307,8 +29615,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-55", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-55" }, "id": "615f7fa959ab75948f96a0d6", "title": "Step 55" @@ -32319,8 +29626,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-56", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-56" }, "id": "615f808d85793195b0f53be9", "title": "Step 56" @@ -32331,8 +29637,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-57", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-57" }, "id": "615f829d07b18f96f6f6684b", "title": "Step 57" @@ -32343,8 +29648,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-58", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-58" }, "id": "615f83ef928ec9982b785b6a", "title": "Step 58" @@ -32355,8 +29659,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-59", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-59" }, "id": "615f84f246e8ba98e3cd97be", "title": "Step 59" @@ -32367,8 +29670,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-60", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-60" }, "id": "615f887466db4ba14b5342cc", "title": "Step 60" @@ -32379,8 +29681,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-61", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-61" }, "id": "615f89e055040ba294719d2f", "title": "Step 61" @@ -32391,8 +29692,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-62", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-62" }, "id": "615f8bfe0f30a1a3c340356b", "title": "Step 62" @@ -32403,8 +29703,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-63", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-63" }, "id": "615f8f1223601fa546e93f31", "title": "Step 63" @@ -32415,8 +29714,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-64", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-64" }, "id": "615f905fbd1017a65ca224eb", "title": "Step 64" @@ -32427,8 +29725,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-65", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-65" }, "id": "615f94786869e1a7fec54375", "title": "Step 65" @@ -32439,8 +29736,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-66", - "blockName": "Learn Typography by Building a Nutrition Label" + "slug": "/learn/2022/responsive-web-design/learn-typography-by-building-a-nutrition-label/step-66" }, "id": "615f951dff9317a900ef683f", "title": "Step 66" @@ -32451,8 +29747,7 @@ "node": { "challenge": { "fields": { - "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-23", - "blockName": "Learn CSS Transforms by Building a Penguin" + "slug": "/learn/2022/responsive-web-design/learn-css-transforms-by-building-a-penguin/step-23" }, "id": "6196d1ac33c68d27dcda5796", "title": "Step 23" diff --git a/client/src/components/profile/components/time-line.tsx b/client/src/components/profile/components/time-line.tsx index 7f896a1837e..73e0c6aa884 100644 --- a/client/src/components/profile/components/time-line.tsx +++ b/client/src/components/profile/components/time-line.tsx @@ -254,9 +254,9 @@ function useIdToNameMap(t: TFunction): Map { edges { node { challenge { + block fields { slug - blockName } id superBlock @@ -281,6 +281,8 @@ function useIdToNameMap(t: TFunction): Map { ({ node: { challenge: { + // @ts-expect-error Graphql needs typing + block, // @ts-expect-error Graphql needs typing id, // @ts-expect-error Graphql needs typing @@ -288,13 +290,13 @@ function useIdToNameMap(t: TFunction): Map { // @ts-expect-error Graphql needs typing title, // @ts-expect-error Graphql needs typing - fields: { slug, blockName }, + fields: { slug }, // @ts-expect-error Graphql needs typing hasEditableBoundaries } } }) => { - const blockNameTitle = t(`intro:${superBlock}.blocks.${blockName}.title`); + const blockNameTitle = t(`intro:${superBlock}.blocks.${block}.title`); const shouldAppendBlockNameToTitle = hasEditableBoundaries || superBlock === SuperBlocks.A2English; idToNameMap.set(id, { diff --git a/client/src/redux/prop-types.ts b/client/src/redux/prop-types.ts index 6100c2439d2..78f6af19aa3 100644 --- a/client/src/redux/prop-types.ts +++ b/client/src/redux/prop-types.ts @@ -54,8 +54,6 @@ export type FillInTheBlank = { export type Fields = { slug: string; blockHashSlug: string; - blockName: string; - tests: Test[]; }; type Required = { link: string; @@ -293,10 +291,7 @@ export type DailyCodingChallengeNode = { helpCategory: 'JavaScript' | 'Python'; challengeType: 28 | 29; - fields: { - blockName: 'daily-coding-challenge'; - tests: Test[]; - }; + tests: Test[]; challengeFiles: ChallengeFiles; // props to satisfy the show classic component diff --git a/client/src/templates/Challenges/classic/show.tsx b/client/src/templates/Challenges/classic/show.tsx index 50a62b96347..8aa05a35e01 100644 --- a/client/src/templates/Challenges/classic/show.tsx +++ b/client/src/templates/Challenges/classic/show.tsx @@ -203,7 +203,7 @@ function ShowClassic({ description, instructions, hooks, - fields: { tests, blockName }, + tests, challengeType, hasEditableBoundaries = false, superBlock, @@ -317,7 +317,7 @@ function ShowClassic({ // Independent lower jaw is only enabled for the urriculum outline workshop const showIndependentLowerJaw = - blockName === 'workshop-curriculum-outline' && + block === 'workshop-curriculum-outline' && isIndependentLowerJawEnabled && !isMobile; @@ -547,7 +547,7 @@ function ShowClassic({ @@ -596,12 +596,7 @@ export const query = graphql` afterAll } fields { - blockName slug - tests { - text - testString - } } required { link @@ -618,6 +613,10 @@ export const query = graphql` editableRegionBoundaries history } + tests { + text + testString + } } } } diff --git a/client/src/templates/Challenges/codeally/show.tsx b/client/src/templates/Challenges/codeally/show.tsx index 16026f62410..8c391f46ac8 100644 --- a/client/src/templates/Challenges/codeally/show.tsx +++ b/client/src/templates/Challenges/codeally/show.tsx @@ -137,7 +137,7 @@ function ShowCodeAlly({ challenge: { block, challengeType, - fields: { tests }, + tests, description, helpCategory, id: challengeId, @@ -385,12 +385,6 @@ export const query = graphql` challengeNode(id: { eq: $id }) { challenge { block - fields { - tests { - text - testString - } - } challengeType description helpCategory @@ -398,6 +392,10 @@ export const query = graphql` instructions notes superBlock + tests { + text + testString + } title translationPending url diff --git a/client/src/templates/Challenges/exam/show.tsx b/client/src/templates/Challenges/exam/show.tsx index b96b3c2752d..775c912d615 100644 --- a/client/src/templates/Challenges/exam/show.tsx +++ b/client/src/templates/Challenges/exam/show.tsx @@ -149,7 +149,6 @@ function ShowExam(props: ShowExamProps) { block, dashedName, description, - fields: { blockName }, instructions, prerequisites, superBlock, @@ -186,12 +185,7 @@ function ShowExam(props: ShowExamProps) { challengeMounted, data: { challengeNode: { - challenge: { - fields: { tests }, - challengeType, - helpCategory, - title - } + challenge: { tests, challengeType, helpCategory, title } } }, pageContext: { challengeMeta }, @@ -530,7 +524,7 @@ function ShowExam(props: ShowExamProps) { @@ -558,11 +552,6 @@ export const query = graphql` description fields { blockHashSlug - blockName - tests { - text - testString - } } helpCategory id @@ -572,6 +561,10 @@ export const query = graphql` title } superBlock + tests { + text + testString + } title translationPending } diff --git a/client/src/templates/Challenges/fill-in-the-blank/show.tsx b/client/src/templates/Challenges/fill-in-the-blank/show.tsx index ddbbf3de3fd..453ffa6bed5 100644 --- a/client/src/templates/Challenges/fill-in-the-blank/show.tsx +++ b/client/src/templates/Challenges/fill-in-the-blank/show.tsx @@ -86,11 +86,11 @@ const ShowFillInTheBlank = ({ superBlock, block, translationPending, - fields: { blockName, tests }, challengeType, fillInTheBlank, helpCategory, - scene + scene, + tests } } }, @@ -260,7 +260,7 @@ const ShowFillInTheBlank = ({ @@ -288,12 +288,7 @@ export const query = graphql` superBlock block fields { - blockName slug - tests { - text - testString - } } fillInTheBlank { sentence @@ -302,6 +297,10 @@ export const query = graphql` feedback } } + tests { + text + testString + } transcript scene { setup { diff --git a/client/src/templates/Challenges/generic/show.tsx b/client/src/templates/Challenges/generic/show.tsx index bb731ef3abf..34d63347df5 100644 --- a/client/src/templates/Challenges/generic/show.tsx +++ b/client/src/templates/Challenges/generic/show.tsx @@ -104,10 +104,10 @@ const ShowGeneric = ({ nodules, explanation, challengeType, - fields: { blockName, tests }, helpCategory, instructions, questions, + tests, title, transcript, translationPending, @@ -358,7 +358,7 @@ const ShowGeneric = ({ @@ -394,12 +394,7 @@ export const query = graphql` helpCategory instructions fields { - blockName slug - tests { - text - testString - } } questions { text @@ -448,6 +443,10 @@ export const query = graphql` } } superBlock + tests { + text + testString + } title transcript translationPending diff --git a/client/src/templates/Challenges/ms-trophy/show.tsx b/client/src/templates/Challenges/ms-trophy/show.tsx index 4b7acb29888..3f482aca4e5 100644 --- a/client/src/templates/Challenges/ms-trophy/show.tsx +++ b/client/src/templates/Challenges/ms-trophy/show.tsx @@ -97,12 +97,7 @@ function MsTrophy(props: MsTrophyProps) { challengeMounted, data: { challengeNode: { - challenge: { - fields: { tests }, - title, - challengeType, - helpCategory - } + challenge: { tests, title, challengeType, helpCategory } } }, pageContext: { challengeMeta }, @@ -141,8 +136,7 @@ function MsTrophy(props: MsTrophyProps) { instructions, superBlock, block, - translationPending, - fields: { blockName } + translationPending } } }, @@ -204,7 +198,7 @@ function MsTrophy(props: MsTrophyProps) { @@ -231,12 +225,9 @@ export const query = graphql` superBlock block translationPending - fields { - blockName - tests { - text - testString - } + tests { + text + testString } } } diff --git a/client/src/templates/Challenges/projects/backend/show.tsx b/client/src/templates/Challenges/projects/backend/show.tsx index c697aa9f47e..33f6d685591 100644 --- a/client/src/templates/Challenges/projects/backend/show.tsx +++ b/client/src/templates/Challenges/projects/backend/show.tsx @@ -112,12 +112,7 @@ const ShowBackEnd = (props: BackEndProps) => { updateChallengeMeta, data: { challengeNode: { - challenge: { - fields: { tests }, - title, - challengeType, - helpCategory - } + challenge: { challengeType, helpCategory, tests, title } } }, pageContext: { challengeMeta } @@ -143,7 +138,6 @@ const ShowBackEnd = (props: BackEndProps) => { data: { challengeNode: { challenge: { - fields: { blockName }, challengeType, forumTopicId, title, @@ -212,7 +206,7 @@ const ShowBackEnd = (props: BackEndProps) => { @@ -241,12 +235,11 @@ export const query = graphql` block translationPending fields { - blockName slug - tests { - text - testString - } + } + tests { + text + testString } } } diff --git a/client/src/templates/Challenges/projects/frontend/show.tsx b/client/src/templates/Challenges/projects/frontend/show.tsx index a2fe30989db..22bbb6b895f 100644 --- a/client/src/templates/Challenges/projects/frontend/show.tsx +++ b/client/src/templates/Challenges/projects/frontend/show.tsx @@ -86,14 +86,14 @@ const ShowFrontEndProject = (props: ProjectProps) => { challengeMounted, data: { challengeNode: { - challenge: { fields, title, challengeType, helpCategory } + challenge: { tests, title, challengeType, helpCategory } } }, pageContext: { challengeMeta }, initTests, updateChallengeMeta } = props; - initTests(fields.tests); + initTests(tests); const challengePaths = getChallengePaths({ currentCurriculumPaths: challengeMeta }); @@ -115,7 +115,6 @@ const ShowFrontEndProject = (props: ProjectProps) => { challengeNode: { challenge: { challengeType, - fields: { blockName }, forumTopicId, title, description, @@ -172,7 +171,7 @@ const ShowFrontEndProject = (props: ProjectProps) => { @@ -201,12 +200,11 @@ export const query = graphql` block translationPending fields { - blockName slug - tests { - text - testString - } + } + tests { + text + testString } } } diff --git a/client/src/templates/Challenges/quiz/show.tsx b/client/src/templates/Challenges/quiz/show.tsx index b22705d573c..4d14cc9e32c 100644 --- a/client/src/templates/Challenges/quiz/show.tsx +++ b/client/src/templates/Challenges/quiz/show.tsx @@ -92,13 +92,14 @@ const ShowQuiz = ({ data: { challengeNode: { challenge: { - fields: { tests, blockHashSlug }, + fields: { blockHashSlug }, title, description, challengeType, helpCategory, superBlock, block, + tests, translationPending, quizzes } @@ -396,12 +397,7 @@ export const query = graphql` block fields { blockHashSlug - blockName slug - tests { - text - testString - } } quizzes { questions { @@ -410,6 +406,10 @@ export const query = graphql` answer } } + tests { + text + testString + } translationPending } } diff --git a/client/src/templates/Introduction/super-block-intro.tsx b/client/src/templates/Introduction/super-block-intro.tsx index 1f8b254e7ef..7caf822e541 100644 --- a/client/src/templates/Introduction/super-block-intro.tsx +++ b/client/src/templates/Introduction/super-block-intro.tsx @@ -57,7 +57,7 @@ type FetchState = { type ChallengeNode = { challenge: { - fields: { slug: string; blockName: string }; + fields: { slug: string }; id: string; block: string; blockLabel: BlockLabel; @@ -371,7 +371,6 @@ export const query = graphql` challenge { fields { slug - blockName } id block diff --git a/tools/client-plugins/gatsby-source-challenges/create-challenge-nodes.js b/tools/client-plugins/gatsby-source-challenges/create-challenge-nodes.js index e879e3d3cdd..d590931c406 100644 --- a/tools/client-plugins/gatsby-source-challenges/create-challenge-nodes.js +++ b/tools/client-plugins/gatsby-source-challenges/create-challenge-nodes.js @@ -17,14 +17,12 @@ function createChallengeNode( }; if (internal.type === 'ChallengeNode') { - const { tests = [], block, dashedName, superBlock } = challenge; + const { block, dashedName, superBlock } = challenge; const slug = `/learn/${superBlock}/${block}/${dashedName}`; const blockHashSlug = `/learn/${superBlock}/#${block}`; challenge.fields = { slug, - blockName: block, - tests, blockHashSlug }; } diff --git a/tools/daily-challenges/helpers.ts b/tools/daily-challenges/helpers.ts index 2bcc18b114d..8db5c518816 100644 --- a/tools/daily-challenges/helpers.ts +++ b/tools/daily-challenges/helpers.ts @@ -37,11 +37,9 @@ query { id title description - fields { - tests { + tests { testString text - } } challengeFiles { contents @@ -78,14 +76,14 @@ export function combineChallenges({ id: jsId, title: jsTitle, description: jsDescription, - fields: { tests: jsTests }, + tests: jsTests, challengeFiles: jsChallengeFiles } = jsChallenge; const { title: pyTitle, description: pyDescription, - fields: { tests: pyTests }, + tests: pyTests, challengeFiles: pyChallengeFiles } = pyChallenge; diff --git a/tools/daily-challenges/types.ts b/tools/daily-challenges/types.ts index c69abdb4749..4707dd7a632 100644 --- a/tools/daily-challenges/types.ts +++ b/tools/daily-challenges/types.ts @@ -15,12 +15,10 @@ export type Challenge = { title: string; date: Date; description: string; - fields: { - tests: { - testString: string; - text: string; - }[]; - }; + tests: { + testString: string; + text: string; + }[]; challengeFiles: { contents: string; filekey: string;