From 5f3b6b1807a3352b539fe943890887552f531df4 Mon Sep 17 00:00:00 2001 From: camperbot Date: Thu, 20 Oct 2022 17:13:17 +0100 Subject: [PATCH] chore(i18n,learn): processed translations (#48152) --- ...end-development-and-apis-certification.yml | 22 + ...ata-analysis-with-python-certification.yml | 23 + .../data-visualization-certification.yml | 22 + ...nd-development-libraries-certification.yml | 22 + .../information-security-certification.yml | 22 + ...thms-and-data-structures-certification.yml | 22 + .../legacy-back-end-certification.yml | 37 + ...egacy-data-visualization-certification.yml | 37 + .../legacy-front-end-certification.yml | 37 + .../legacy-full-stack-certification.yml | 25 + ...ty-and-quality-assurance-certification.yml | 22 + ...ine-learning-with-python-certification.yml | 23 + .../quality-assurance-certification.yml | 23 + .../relational-database-certification.yml | 22 + .../responsive-web-design-certification.yml | 22 + ...ic-computing-with-python-certification.yml | 22 + ...ges-for-visually-impaired-accessibility.md | 46 + .../add-an-accessible-date-picker.md | 105 ++ ...choosing-colors-that-convey-information.md | 74 ++ ...ess-issues-by-using-sufficient-contrast.md | 84 ++ ...-meaning-by-using-descriptive-link-text.md | 75 ++ ...of-audio-content-with-the-audio-element.md | 115 ++ ...t-accessibility-with-the-figure-element.md | 161 +++ ...ld-accessibility-with-the-label-element.md | 119 ++ ...ove-readability-with-high-contrast-text.md | 80 ++ ...t-to-the-content-using-the-main-element.md | 62 + ...know-when-alt-text-should-be-left-blank.md | 76 ++ ...-to-a-screen-reader-by-using-custom-css.md | 244 ++++ ...e-links-navigable-with-html-access-keys.md | 106 ++ ...igation-easier-with-the-footer-landmark.md | 116 ++ ...igation-easier-with-the-header-landmark.md | 111 ++ ...navigation-easier-with-the-nav-landmark.md | 121 ++ ...times-with-the-html5-datetime-attribute.md | 132 ++ ...w-hierarchical-relationships-of-content.md | 92 ++ ...dex-to-add-keyboard-focus-to-an-element.md | 144 +++ ...-of-keyboard-focus-for-several-elements.md | 160 +++ .../wrap-content-in-the-article-element.md | 92 ++ ...eldset-element-for-better-accessibility.md | 165 +++ ...add-a-box-shadow-to-a-card-like-element.md | 154 +++ ...t-the-background-color-property-of-text.md | 146 +++ ...arious-elements-to-complementary-colors.md | 130 ++ ...of-an-element-using-the-height-property.md | 118 ++ ...adjust-the-hover-state-of-an-anchor-tag.md | 72 ++ .../adjust-the-hue-of-a-color.md | 129 ++ ...ding-element-versus-a-paragraph-element.md | 119 ++ .../adjust-the-tone-of-a-color.md | 121 ++ ...-of-an-element-using-the-width-property.md | 115 ++ .../animate-elements-at-variable-rates.md | 141 +++ ...ually-using-an-infinite-animation-count.md | 107 ++ ...ate-multiple-elements-at-variable-rates.md | 155 +++ ...-horizontally-using-the-margin-property.md | 56 + .../change-an-elements-relative-position.md | 77 ++ .../change-animation-timing-with-keywords.md | 127 ++ ...ping-elements-with-the-z-index-property.md | 81 ++ .../create-a-gradual-css-linear-gradient.md | 76 ++ .../create-a-graphic-using-css.md | 89 ++ ...-a-horizontal-line-using-the-hr-element.md | 122 ++ ...a-more-complex-shape-using-css-and-html.md | 146 +++ .../create-movement-using-css-animation.md | 136 ++ ...-a-subtle-pattern-as-a-background-image.md | 50 + ...l-balance-using-the-text-align-property.md | 118 ++ ...by-fading-an-element-from-left-to-right.md | 95 ++ .../decrease-the-opacity-of-an-element.md | 134 ++ .../learn-about-complementary-colors.md | 90 ++ .../learn-about-tertiary-colors.md | 114 ++ .../learn-how-bezier-curves-work.md | 136 ++ ...keyframes-and-animation-properties-work.md | 136 ++ ...to-its-parent-with-absolute-positioning.md | 90 ++ ...e-browser-window-with-fixed-positioning.md | 120 ++ ...tbeat-using-an-infinite-animation-count.md | 181 +++ ...otion-more-natural-using-a-bezier-curve.md | 121 ++ .../modify-fill-mode-of-an-animation.md | 92 ++ ...ely-positioned-element-with-css-offsets.md | 70 ++ ...s-left-or-right-with-the-float-property.md | 100 ++ ...font-size-for-multiple-heading-elements.md | 121 ++ .../set-the-font-size-of-paragraph-text.md | 52 + ...nt-weight-for-multiple-heading-elements.md | 132 ++ .../set-the-line-height-of-paragraphs.md | 54 + .../use-a-bezier-curve-to-move-a-graphic.md | 128 ++ ...ar-gradient-to-create-a-striped-element.md | 113 ++ ...n-to-change-the-hover-state-of-a-button.md | 103 ++ ...ewx-to-skew-an-element-along-the-x-axis.md | 77 ++ ...ewy-to-skew-an-element-along-the-y-axis.md | 71 ++ ...operty-to-change-the-size-of-an-element.md | 95 ++ ...e-property-to-scale-an-element-on-hover.md | 79 ++ .../use-the-em-tag-to-italicize-text.md | 118 ++ .../use-the-s-tag-to-strikethrough-text.md | 135 ++ .../use-the-strong-tag-to-make-text-bold.md | 128 ++ ...ansform-property-to-make-text-uppercase.md | 138 +++ .../use-the-u-tag-to-underline-text.md | 120 ++ .../add-a-negative-margin-to-an-element.md | 115 ++ .../add-borders-around-your-elements.md | 190 +++ ...rent-margins-to-each-side-of-an-element.md | 136 ++ ...rent-padding-to-each-side-of-an-element.md | 136 ++ .../add-rounded-corners-with-border-radius.md | 164 +++ .../adjust-the-margin-of-an-element.md | 116 ++ .../adjust-the-padding-of-an-element.md | 118 ++ ...tach-a-fallback-value-to-a-css-variable.md | 272 ++++ .../change-a-variable-for-a-specific-area.md | 254 ++++ .../basic-css/change-the-color-of-text.md | 122 ++ .../change-the-font-size-of-an-element.md | 119 ++ .../basic-css/create-a-custom-css-variable.md | 241 ++++ ...ive-a-background-color-to-a-div-element.md | 176 +++ .../basic-css/import-a-google-font.md | 175 +++ ...ve-compatibility-with-browser-fallbacks.md | 70 ++ .../basic-css/inherit-css-variables.md | 244 ++++ .../inherit-styles-from-the-body-element.md | 111 ++ ...ke-circular-images-with-a-border-radius.md | 159 +++ ...ide-all-other-styles-by-using-important.md | 114 ++ ...s-declarations-by-styling-id-attributes.md | 123 ++ ...e-class-declarations-with-inline-styles.md | 102 ++ .../override-styles-in-subsequent-css.md | 94 ++ .../prioritize-one-style-over-another.md | 73 ++ .../set-the-font-family-of-an-element.md | 132 ++ .../basic-css/set-the-id-of-an-element.md | 170 +++ .../basic-css/size-your-images.md | 155 +++ .../specify-how-fonts-should-degrade.md | 172 +++ ...tyle-multiple-elements-with-a-css-class.md | 133 ++ .../basic-css/style-the-html-body-element.md | 70 ++ ...derstand-absolute-versus-relative-units.md | 123 ++ .../use-a-css-class-to-style-an-element.md | 142 +++ .../basic-css/use-a-custom-css-variable.md | 287 +++++ .../use-a-media-query-to-change-a-variable.md | 281 +++++ .../basic-css/use-abbreviated-hex-code.md | 128 ++ ...use-an-id-attribute-to-style-an-element.md | 197 +++ ...e-attribute-selectors-to-style-elements.md | 210 ++++ ...ion-to-specify-the-margin-of-an-element.md | 143 +++ ...on-to-specify-the-padding-of-an-element.md | 141 +++ .../use-css-selectors-to-style-elements.md | 158 +++ ...bles-to-change-several-elements-at-once.md | 257 ++++ .../use-hex-code-for-specific-colors.md | 66 + .../basic-css/use-hex-code-to-mix-colors.md | 132 ++ .../basic-css/use-rgb-to-mix-colors.md | 140 +++ .../use-rgb-values-to-color-elements.md | 76 ++ .../add-a-submit-button-to-a-form.md | 113 ++ .../add-images-to-your-website.md | 92 ++ .../add-placeholder-text-to-a-text-field.md | 108 ++ ...radio-buttons-and-checkboxes-by-default.md | 116 ++ .../basic-html-and-html5/comment-out-html.md | 76 ++ .../create-a-bulleted-unordered-list.md | 102 ++ .../create-a-form-element.md | 106 ++ .../create-a-set-of-checkboxes.md | 135 ++ .../create-a-set-of-radio-buttons.md | 160 +++ .../create-a-text-field.md | 89 ++ .../create-an-ordered-list.md | 157 +++ ...declare-the-doctype-of-an-html-document.md | 70 ++ ...e-the-head-and-body-of-an-html-document.md | 141 +++ .../delete-html-elements.md | 56 + ...fill-in-the-blank-with-placeholder-text.md | 50 + .../headline-with-the-h2-element.md | 70 ++ .../inform-with-the-paragraph-element.md | 64 + .../introduction-to-html5-elements.md | 98 ++ ...-to-external-pages-with-anchor-elements.md | 78 ++ ...sections-of-a-page-with-anchor-elements.md | 120 ++ .../make-dead-links-using-the-hash-symbol.md | 58 + ...st-an-anchor-element-within-a-paragraph.md | 163 +++ ...ny-elements-within-a-single-div-element.md | 121 ++ .../say-hello-to-html-elements.md | 60 + .../turn-an-image-into-a-link.md | 80 ++ .../basic-html-and-html5/uncomment-html.md | 70 ++ .../use-html5-to-require-a-field.md | 86 ++ ...ibute-with-radio-buttons-and-checkboxes.md | 148 +++ ...add-flex-superpowers-to-the-tweet-embed.md | 258 ++++ ...elements-using-the-align-items-property.md | 95 ++ ...ents-using-the-justify-content-property.md | 95 ++ ...y-to-create-a-column-in-the-tweet-embed.md | 218 ++++ ...perty-to-create-rows-in-the-tweet-embed.md | 230 ++++ .../use-display-flex-to-position-two-boxes.md | 82 ++ ...align-items-property-in-the-tweet-embed.md | 222 ++++ .../use-the-align-self-property.md | 92 ++ ...erty-to-set-the-initial-size-of-an-item.md | 102 ++ ...lex-direction-property-to-make-a-column.md | 82 ++ ...e-flex-direction-property-to-make-a-row.md | 86 ++ ...-the-flex-grow-property-to-expand-items.md | 90 ++ .../use-the-flex-shorthand-property.md | 106 ++ ...he-flex-shrink-property-to-shrink-items.md | 94 ++ ...x-wrap-property-to-wrap-a-row-or-column.md | 138 +++ ...ify-content-property-in-the-tweet-embed.md | 224 ++++ ...e-the-order-property-to-rearrange-items.md | 90 ++ .../add-columns-with-grid-template-columns.md | 72 ++ .../css-grid/add-gaps-faster-with-grid-gap.md | 69 ++ .../add-rows-with-grid-template-rows.md | 68 + ...-items-horizontally-using-justify-items.md | 71 ++ ...-all-items-vertically-using-align-items.md | 69 ++ ...an-item-horizontally-using-justify-self.md | 79 ++ ...ign-an-item-vertically-using-align-self.md | 71 ++ ...eate-a-column-gap-using-grid-column-gap.md | 76 ++ .../create-a-row-gap-using-grid-row-gap.md | 68 + ...create-flexible-layouts-using-auto-fill.md | 140 +++ .../create-flexible-layouts-using-auto-fit.md | 91 ++ .../css-grid/create-grids-within-grids.md | 106 ++ .../css-grid/create-your-first-css-grid.md | 64 + .../divide-the-grid-into-an-area-template.md | 113 ++ ...mit-item-size-using-the-minmax-function.md | 77 ++ ...grid-areas-using-the-grid-area-property.md | 86 ++ ...ce-repetition-using-the-repeat-function.md | 93 ++ ...-to-change-the-size-of-columns-and-rows.md | 83 ++ ...area-without-creating-an-areas-template.md | 86 ++ .../use-grid-column-to-control-spacing.md | 139 +++ .../use-grid-row-to-control-spacing.md | 122 ++ ...ia-queries-to-create-responsive-layouts.md | 174 +++ .../create-a-media-query.md | 91 ++ .../make-an-image-responsive.md | 76 ++ .../make-typography-responsive.md | 77 ++ ...na-image-for-higher-resolution-displays.md | 64 + .../build-a-personal-portfolio-webpage.md | 281 +++++ .../build-a-product-landing-page.md | 470 +++++++ .../build-a-survey-form.md | 518 ++++++++ .../build-a-technical-documentation-page.md | 529 ++++++++ .../build-a-tribute-page.md | 325 +++++ .../basic-algorithm-scripting/boo-who.md | 97 ++ .../chunky-monkey.md | 110 ++ .../confirm-the-ending.md | 113 ++ .../convert-celsius-to-fahrenheit.md | 75 ++ .../factorialize-a-number.md | 73 ++ .../falsy-bouncer.md | 71 ++ .../find-the-longest-word-in-a-string.md | 87 ++ .../finders-keepers.md | 58 + .../basic-algorithm-scripting/mutations.md | 117 ++ .../repeat-a-string-repeat-a-string.md | 84 ++ .../return-largest-numbers-in-arrays.md | 92 ++ .../reverse-a-string.md | 63 + .../slice-and-splice.md | 98 ++ .../title-case-a-sentence.md | 64 + .../truncate-a-string.md | 91 ++ .../where-do-i-belong.md | 143 +++ ...-arrays-contents-using-bracket-notation.md | 82 ++ ...ss-property-names-with-bracket-notation.md | 101 ++ ...items-to-an-array-with-push-and-unshift.md | 87 ++ .../add-items-using-splice.md | 93 ++ ...d-key-value-pairs-to-javascript-objects.md | 124 ++ ...the-presence-of-an-element-with-indexof.md | 93 ++ .../check-if-an-object-has-a-property.md | 161 +++ ...combine-arrays-with-the-spread-operator.md | 63 + .../copy-an-array-with-the-spread-operator.md | 102 ++ .../copy-array-items-using-slice.md | 65 + ...create-complex-multi-dimensional-arrays.md | 218 ++++ ...ray-of-all-object-keys-with-object.keys.md | 111 ++ ...ugh-all-an-arrays-items-using-for-loops.md | 138 +++ ...-of-an-object-with-a-for...in-statement.md | 152 +++ .../modify-an-array-stored-in-an-object.md | 112 ++ ...odify-an-object-nested-within-an-object.md | 101 ++ ...-items-from-an-array-with-pop-and-shift.md | 86 ++ .../remove-items-using-splice.md | 87 ++ ...-an-array-to-store-a-collection-of-data.md | 95 ++ ...ete-keyword-to-remove-object-properties.md | 86 ++ .../access-array-data-with-indexes.md | 87 ++ ...s-multi-dimensional-arrays-with-indexes.md | 77 ++ .../accessing-nested-arrays.md | 121 ++ .../accessing-nested-objects.md | 100 ++ ...object-properties-with-bracket-notation.md | 103 ++ ...ing-object-properties-with-dot-notation.md | 100 ++ ...essing-object-properties-with-variables.md | 107 ++ ...d-new-properties-to-a-javascript-object.md | 90 ++ .../add-two-numbers-with-javascript.md | 62 + ...g-a-default-option-in-switch-statements.md | 128 ++ .../appending-variables-to-strings.md | 77 ++ ...ng-the-value-of-one-variable-to-another.md | 86 ++ .../assignment-with-a-returned-value.md | 72 ++ .../build-javascript-objects.md | 159 +++ .../chaining-if-else-statements.md | 149 +++ .../comment-your-javascript-code.md | 63 + .../comparison-with-the-equality-operator.md | 89 ++ ...mparison-with-the-greater-than-operator.md | 111 ++ ...h-the-greater-than-or-equal-to-operator.md | 113 ++ ...comparison-with-the-inequality-operator.md | 91 ++ .../comparison-with-the-less-than-operator.md | 106 ++ ...with-the-less-than-or-equal-to-operator.md | 112 ++ ...rison-with-the-strict-equality-operator.md | 80 ++ ...son-with-the-strict-inequality-operator.md | 83 ++ ...mparisons-with-the-logical-and-operator.md | 130 ++ ...omparisons-with-the-logical-or-operator.md | 135 ++ ...ound-assignment-with-augmented-addition.md | 101 ++ ...ound-assignment-with-augmented-division.md | 95 ++ ...ssignment-with-augmented-multiplication.md | 95 ++ ...d-assignment-with-augmented-subtraction.md | 93 ++ ...oncatenating-strings-with-plus-operator.md | 89 ++ ...g-strings-with-the-plus-equals-operator.md | 74 ++ .../constructing-strings-with-variables.md | 75 ++ .../count-backwards-with-a-for-loop.md | 77 ++ .../basic-javascript/counting-cards.md | 214 ++++ .../create-decimal-numbers-with-javascript.md | 55 + ...ad-only-variable-with-the-const-keyword.md | 88 ++ .../declare-javascript-variables.md | 61 + .../declare-string-variables.md | 87 ++ .../decrement-a-number-with-javascript.md | 84 ++ ...ete-properties-from-a-javascript-object.md | 96 ++ ...-one-decimal-by-another-with-javascript.md | 50 + ...e-one-number-by-another-with-javascript.md | 59 + .../escape-sequences-in-strings.md | 91 ++ .../escaping-literal-quotes-in-strings.md | 72 ++ ...rences-between-the-var-and-let-keywords.md | 74 ++ .../find-the-length-of-a-string.md | 68 + .../finding-a-remainder-in-javascript.md | 67 + ...nerate-random-fractions-with-javascript.md | 69 ++ ...te-random-whole-numbers-with-javascript.md | 90 ++ ...ate-random-whole-numbers-within-a-range.md | 102 ++ .../global-scope-and-functions.md | 128 ++ .../global-vs.-local-scope-in-functions.md | 77 ++ .../basic-javascript/golf-code.md | 136 ++ .../increment-a-number-with-javascript.md | 80 ++ ...-variables-with-the-assignment-operator.md | 44 + .../introducing-else-if-statements.md | 114 ++ .../introducing-else-statements.md | 106 ++ .../iterate-odd-numbers-with-a-for-loop.md | 69 ++ ...terate-through-an-array-with-a-for-loop.md | 81 ++ ...terate-with-javascript-do...while-loops.md | 105 ++ .../iterate-with-javascript-for-loops.md | 81 ++ .../iterate-with-javascript-while-loops.md | 75 ++ .../local-scope-and-functions.md | 86 ++ .../logical-order-in-if-else-statements.md | 109 ++ .../manipulate-arrays-with-pop.md | 90 ++ .../manipulate-arrays-with-push.md | 78 ++ .../manipulate-arrays-with-shift.md | 88 ++ .../manipulate-arrays-with-unshift.md | 79 ++ .../manipulating-complex-objects.md | 165 +++ .../modify-array-data-with-indexes.md | 87 ++ ...-identical-options-in-switch-statements.md | 149 +++ .../multiply-two-decimals-with-javascript.md | 52 + .../multiply-two-numbers-with-javascript.md | 60 + .../nest-one-array-within-another-array.md | 51 + .../basic-javascript/nesting-for-loops.md | 92 ++ ...sing-values-to-functions-with-arguments.md | 120 ++ .../practice-comparing-different-values.md | 78 ++ .../basic-javascript/profile-lookup.md | 144 +++ .../quoting-strings-with-single-quotes.md | 75 ++ .../basic-javascript/record-collection.md | 181 +++ .../replace-loops-using-recursion.md | 105 ++ .../replacing-if-else-chains-with-switch.md | 157 +++ ...urn-a-value-from-a-function-with-return.md | 73 ++ .../return-early-pattern-for-functions.md | 106 ++ ...returning-boolean-values-from-functions.md | 82 ++ ...rom-many-options-with-switch-statements.md | 114 ++ .../basic-javascript/shopping-list.md | 97 ++ .../basic-javascript/stand-in-line.md | 118 ++ ...in-one-variable-using-javascript-arrays.md | 63 + ...ing-values-with-the-assignment-operator.md | 77 ++ ...one-number-from-another-with-javascript.md | 59 + .../testing-objects-for-properties.md | 98 ++ .../understand-string-immutability.md | 70 ++ .../understanding-boolean-values.md | 60 + ...rstanding-case-sensitivity-in-variables.md | 100 ++ ...ndefined-value-returned-from-a-function.md | 96 ++ .../understanding-uninitialized-variables.md | 79 ++ .../updating-object-properties.md | 78 ++ ...to-find-the-first-character-in-a-string.md | 74 ++ ...-to-find-the-last-character-in-a-string.md | 68 + ...n-to-find-the-nth-character-in-a-string.md | 68 + ...d-the-nth-to-last-character-in-a-string.md | 68 + ...se-conditional-logic-with-if-statements.md | 98 ++ ...-multiple-conditional-ternary-operators.md | 96 ++ .../use-recursion-to-create-a-countdown.md | 99 ++ ...-recursion-to-create-a-range-of-numbers.md | 88 ++ .../use-the-conditional-ternary-operator.md | 84 ++ .../use-the-parseint-function-with-a-radix.md | 82 ++ .../use-the-parseint-function.md | 74 ++ .../using-objects-for-lookups.md | 155 +++ .../basic-javascript/word-blanks.md | 105 ++ ...rite-reusable-javascript-with-functions.md | 101 ++ ...the-wrong-order-when-calling-a-function.md | 57 + ...osing-parenthesis-after-a-function-call.md | 69 ++ ...-misspelled-variable-and-function-names.md | 69 ++ ...mixed-usage-of-single-and-double-quotes.md | 63 + ...h-off-by-one-errors-when-using-indexing.md | 93 ++ ...-parentheses-brackets-braces-and-quotes.md | 49 + ...t-operator-instead-of-equality-operator.md | 81 ++ ...e-loops-with-a-valid-terminal-condition.md | 63 + ...en-the-freecodecamp-and-browser-console.md | 65 + ...-reinitializing-variables-inside-a-loop.md | 97 ++ ...onsole-to-check-the-value-of-a-variable.md | 54 + ...-typeof-to-check-the-type-of-a-variable.md | 66 + ...pare-scopes-of-the-var-and-let-keywords.md | 134 ++ ...plete-a-promise-with-resolve-and-reject.md | 77 ++ .../es6/create-a-javascript-promise.md | 55 + .../es6/create-a-module-script.md | 73 ++ ...-an-export-fallback-with-export-default.md | 63 + .../create-strings-using-template-literals.md | 116 ++ .../handle-a-fulfilled-promise-with-then.md | 92 ++ .../handle-a-rejected-promise-with-catch.md | 100 ++ .../es6/import-a-default-export.md | 48 + .../mutate-an-array-declared-with-const.md | 91 ++ .../es6/prevent-object-mutation.md | 104 ++ .../es6/reuse-javascript-code-using-import.md | 70 ++ ...t-default-parameters-for-your-functions.md | 64 + .../use--to-import-everything-from-a-file.md | 60 + ...ns-to-write-concise-anonymous-functions.md | 91 ++ ...syntax-to-define-a-constructor-function.md | 111 ++ ...ignment-to-assign-variables-from-arrays.md | 71 ++ ...to-assign-variables-from-nested-objects.md | 106 ++ ...gnment-to-assign-variables-from-objects.md | 97 ++ ...signment-to-extract-values-from-objects.md | 101 ++ ...ass-an-object-as-a-functions-parameters.md | 94 ++ ...st-parameter-to-reassign-array-elements.md | 85 ++ .../es6/use-export-to-share-a-code-block.md | 85 ++ ...-setters-to-control-access-to-an-object.md | 174 +++ ...rest-parameter-with-function-parameters.md | 80 ++ ...ad-operator-to-evaluate-arrays-in-place.md | 84 ++ .../write-arrow-functions-with-parameters.md | 94 ++ ...-concise-declarative-functions-with-es6.md | 87 ++ ...rations-using-object-property-shorthand.md | 75 ++ ...f-an-array-using-concat-instead-of-push.md | 88 ++ ...ramming-to-convert-strings-to-url-slugs.md | 84 ++ ...de-effects-using-functional-programming.md | 78 ++ ...ray-into-a-string-using-the-join-method.md | 89 ++ ...bine-two-arrays-using-the-concat-method.md | 77 ++ .../implement-map-on-a-prototype.md | 72 ++ ...lement-the-filter-method-on-a-prototype.md | 67 + ...ion-to-currying-and-partial-application.md | 102 ++ .../learn-about-functional-programming.md | 86 ++ ...avoid-external-dependence-in-a-function.md | 74 ++ ...actor-global-variables-out-of-functions.md | 133 ++ ...-an-array-using-slice-instead-of-splice.md | 84 ++ ...ray-without-changing-the-original-array.md | 90 ++ ...part-of-an-array-using-the-slice-method.md | 93 ++ ...ay-alphabetically-using-the-sort-method.md | 101 ++ ...ng-into-an-array-using-the-split-method.md | 87 ++ ...tand-functional-programming-terminology.md | 112 ++ ...nd-the-hazards-of-using-imperative-code.md | 139 +++ ...er-or-reduce-to-solve-a-complex-problem.md | 97 ++ ...ry-element-in-an-array-meets-a-criteria.md | 76 ++ ...er-method-to-extract-data-from-an-array.md | 314 +++++ ...ap-method-to-extract-data-from-an-array.md | 329 +++++ .../use-the-reduce-method-to-analyze-data.md | 345 ++++++ ...ny-elements-in-an-array-meet-a-criteria.md | 76 ++ .../arguments-optional.md | 103 ++ .../binary-agents.md | 57 + .../convert-html-entities.md | 89 ++ .../diff-two-arrays.md | 189 +++ .../dna-pairing.md | 81 ++ .../drop-it.md | 104 ++ .../everything-be-true.md | 158 +++ .../make-a-person.md | 198 +++ .../map-the-debris.md | 83 ++ .../missing-letters.md | 72 ++ .../pig-latin.md | 93 ++ .../search-and-replace.md | 100 ++ .../seek-and-destroy.md | 104 ++ .../smallest-common-multiple.md | 89 ++ .../sorted-union.md | 84 ++ .../spinal-tap-case.md | 70 ++ .../steamroller.md | 79 ++ .../sum-all-numbers-in-a-range.md | 70 ++ .../sum-all-odd-fibonacci-numbers.md | 82 ++ .../sum-all-primes.md | 95 ++ .../wherefore-art-thou.md | 139 +++ .../caesars-cipher.md | 88 ++ .../cash-register.md | 252 ++++ .../palindrome-checker.md | 125 ++ .../roman-numeral-converter.md | 215 ++++ .../telephone-number-validator.md | 217 ++++ .../add-methods-after-inheritance.md | 165 +++ .../change-the-prototype-to-a-new-object.md | 103 ++ .../create-a-basic-javascript-object.md | 69 ++ .../create-a-method-on-an-object.md | 70 ++ .../define-a-constructor-function.md | 67 + ...xtend-constructors-to-receive-arguments.md | 89 ++ .../inherit-behaviors-from-a-supertype.md | 127 ++ .../iterate-over-all-properties.md | 106 ++ ...ode-more-reusable-with-the-this-keyword.md | 75 ++ .../override-inherited-methods.md | 100 ++ ...or-property-when-changing-the-prototype.md | 86 ++ ...reset-an-inherited-constructor-property.md | 91 ++ ...-prototype-to-an-instance-of-the-parent.md | 79 ++ .../understand-own-properties.md | 104 ++ .../understand-the-constructor-property.md | 85 ++ ...iately-invoked-function-expression-iife.md | 83 ++ .../understand-the-prototype-chain.md | 74 ++ ...d-where-an-objects-prototype-comes-from.md | 63 + .../use-a-constructor-to-create-objects.md | 80 ++ ...mmon-behavior-between-unrelated-objects.md | 111 ++ .../use-an-iife-to-create-a-module.md | 106 ++ ...n-object-from-being-modified-externally.md | 81 ++ ...n-to-access-the-properties-of-an-object.md | 62 + ...inheritance-so-you-dont-repeat-yourself.md | 142 +++ ...ype-properties-to-reduce-duplicate-code.md | 77 ++ ...-an-objects-constructor-with-instanceof.md | 79 ++ .../check-for-all-or-none.md | 77 ++ .../check-for-mixed-grouping-of-characters.md | 90 ++ .../regular-expressions/extract-matches.md | 73 ++ .../find-characters-with-lazy-matching.md | 61 + .../find-more-than-the-first-match.md | 85 ++ .../find-one-or-more-criminals-in-a-hunt.md | 108 ++ .../ignore-case-while-matching.md | 109 ++ ...ral-string-with-different-possibilities.md | 90 ++ .../match-all-letters-and-numbers.md | 98 ++ .../match-all-non-numbers.md | 85 ++ .../regular-expressions/match-all-numbers.md | 85 ++ .../match-anything-with-wildcard-period.md | 119 ++ .../match-beginning-string-patterns.md | 73 ++ ...characters-that-occur-one-or-more-times.md | 59 + ...haracters-that-occur-zero-or-more-times.md | 96 ++ .../match-ending-string-patterns.md | 66 + ...atch-everything-but-letters-and-numbers.md | 92 ++ .../match-letters-of-the-alphabet.md | 71 ++ .../match-literal-strings.md | 74 ++ .../match-non-whitespace-characters.md | 78 ++ ...tch-numbers-and-letters-of-the-alphabet.md | 63 + ...e-character-with-multiple-possibilities.md | 85 ++ .../match-single-characters-not-specified.md | 57 + .../regular-expressions/match-whitespace.md | 77 ++ .../positive-and-negative-lookahead.md | 122 ++ .../remove-whitespace-from-start-and-end.md | 61 + .../restrict-possible-usernames.md | 136 ++ .../reuse-patterns-using-capture-groups.md | 115 ++ .../specify-exact-number-of-matches.md | 92 ++ ...pecify-only-the-lower-number-of-matches.md | 95 ++ ...ecify-upper-and-lower-number-of-matches.md | 93 ++ ...se-capture-groups-to-search-and-replace.md | 88 ++ .../using-the-test-method.md | 59 + ...dd-elements-within-your-bootstrap-wells.md | 90 ++ ...ont-awesome-icons-to-all-of-our-buttons.md | 178 +++ .../add-font-awesome-icons-to-our-buttons.md | 195 +++ ...add-id-attributes-to-bootstrap-elements.md | 93 ++ ...pply-the-default-bootstrap-button-style.md | 77 ++ ...call-out-optional-actions-with-btn-info.md | 175 +++ .../bootstrap/center-text-with-bootstrap.md | 157 +++ ...create-a-block-element-bootstrap-button.md | 185 +++ .../bootstrap/create-a-bootstrap-button.md | 176 +++ .../bootstrap/create-a-bootstrap-headline.md | 67 + .../bootstrap/create-a-bootstrap-row.md | 68 + ...a-class-to-target-with-jquery-selectors.md | 71 ++ .../bootstrap/create-a-custom-heading.md | 177 +++ .../bootstrap/create-bootstrap-wells.md | 71 ++ .../ditch-custom-css-for-bootstrap.md | 188 +++ .../give-each-element-a-unique-id.md | 125 ++ ...-within-a-bootstrap-container-fluid-div.md | 53 + .../bootstrap/label-bootstrap-buttons.md | 105 ++ .../bootstrap/label-bootstrap-wells.md | 101 ++ ...rm-elements-responsively-with-bootstrap.md | 215 ++++ .../make-images-mobile-responsive.md | 176 +++ .../responsively-style-checkboxes.md | 192 +++ .../responsively-style-radio-buttons.md | 176 +++ .../bootstrap/split-your-bootstrap-row.md | 57 + .../style-text-inputs-as-form-controls.md | 202 +++ ...aste-the-bootstrap-button-color-rainbow.md | 167 +++ .../use-a-span-to-target-inline-elements.md | 185 +++ .../bootstrap/use-comments-to-clarify-code.md | 98 ++ ...-design-with-bootstrap-fluid-containers.md | 170 +++ ...strap-grid-to-put-elements-side-by-side.md | 196 +++ ...s-of-a-dangerous-action-with-btn-danger.md | 176 +++ .../build-a-25-5-clock.md | 81 ++ .../build-a-drum-machine.md | 51 + .../build-a-javascript-calculator.md | 62 + .../build-a-markdown-previewer.md | 39 + .../build-a-random-quote-machine.md | 49 + ...nge-text-inside-an-element-using-jquery.md | 131 ++ ...ange-the-css-of-an-element-using-jquery.md | 119 ++ .../jquery/clone-an-element-using-jquery.md | 121 ++ .../jquery/delete-your-jquery-functions.md | 125 ++ .../jquery/disable-an-element-using-jquery.md | 120 ++ ...how-script-tags-and-document-ready-work.md | 118 ++ .../jquery/remove-an-element-using-jquery.md | 109 ++ ...ove-classes-from-an-element-with-jquery.md | 122 ++ ...ecific-child-of-an-element-using-jquery.md | 144 +++ .../target-elements-by-class-using-jquery.md | 113 ++ .../target-elements-by-id-using-jquery.md | 123 ++ .../target-even-elements-using-jquery.md | 139 +++ ...ml-elements-with-selectors-using-jquery.md | 118 ++ ...the-children-of-an-element-using-jquery.md | 125 ++ ...t-the-parent-of-an-element-using-jquery.md | 140 +++ ...-element-with-multiple-jquery-selectors.md | 143 +++ ...e-appendto-to-move-elements-with-jquery.md | 117 ++ .../use-jquery-to-modify-the-entire-page.md | 118 ++ .../react-and-redux/connect-redux-to-react.md | 156 +++ .../connect-redux-to-the-messages-app.md | 300 +++++ .../extract-local-state-into-redux.md | 397 ++++++ .../extract-state-logic-to-redux.md | 115 ++ .../getting-started-with-react-redux.md | 102 ++ .../manage-state-locally-first.md | 250 ++++ .../react-and-redux/map-dispatch-to-props.md | 107 ++ .../react-and-redux/map-state-to-props.md | 69 ++ .../moving-forward-from-here.md | 69 ++ .../use-provider-to-connect-redux-to-react.md | 263 ++++ .../react/access-props-using-this.props.md | 148 +++ .../react/add-comments-in-jsx.md | 82 ++ .../react/add-event-listeners.md | 179 +++ .../react/add-inline-styles-in-react.md | 112 ++ .../react/bind-this-to-a-class-method.md | 136 ++ ...-conditionally-based-on-component-state.md | 176 +++ .../react/compose-react-components.md | 199 +++ .../react/create-a-complex-jsx-element.md | 110 ++ .../create-a-component-with-composition.md | 134 ++ .../react/create-a-controlled-form.md | 220 ++++ .../react/create-a-controlled-input.md | 150 +++ .../react/create-a-react-component.md | 102 ++ .../react/create-a-simple-jsx-element.md | 57 + .../react/create-a-stateful-component.md | 134 ++ ...create-a-stateless-functional-component.md | 102 ++ .../react/define-an-html-class-in-jsx.md | 62 + ...sibling-elements-a-unique-key-attribute.md | 147 +++ .../react/introducing-inline-styles.md | 103 ++ .../learn-about-self-closing-jsx-tags.md | 75 ++ ...e-re-renders-with-shouldcomponentupdate.md | 187 +++ .../react/override-default-props.md | 112 ++ .../react/pass-a-callback-as-props.md | 217 ++++ .../react/pass-an-array-as-props.md | 186 +++ ...ops-to-a-stateless-functional-component.md | 164 +++ ...pass-state-as-props-to-child-components.md | 145 +++ .../render-a-class-component-to-the-dom.md | 159 +++ .../react/render-conditionally-from-props.md | 307 +++++ .../react/render-html-elements-to-the-dom.md | 75 ++ ...react-on-the-server-with-rendertostring.md | 76 ++ ...state-in-the-user-interface-another-way.md | 119 ++ .../render-state-in-the-user-interface.md | 113 ++ .../react/render-with-an-if-else-condition.md | 155 +++ ...ps-with-stateless-functional-components.md | 145 +++ .../react/set-state-with-this.setstate.md | 143 +++ .../use--for-a-more-concise-conditional.md | 146 +++ ...ry-expression-for-conditional-rendering.md | 280 +++++ ...anced-javascript-in-react-render-method.md | 334 +++++ ...y.filter-to-dynamically-filter-an-array.md | 236 ++++ ...rray.map-to-dynamically-render-elements.md | 265 ++++ .../react/use-default-props.md | 78 ++ ...roptypes-to-define-the-props-you-expect.md | 132 ++ .../use-react-to-render-nested-components.md | 150 +++ .../react/use-state-to-toggle-an-element.md | 189 +++ ...-the-lifecycle-method-componentdidmount.md | 127 ++ ...the-lifecycle-method-componentwillmount.md | 87 ++ .../write-a-react-component-from-scratch.md | 84 ++ .../react/write-a-simple-counter.md | 146 +++ .../redux/combine-multiple-reducers.md | 175 +++ .../copy-an-object-with-object.assign.md | 133 ++ .../redux/create-a-redux-store.md | 61 + .../redux/define-a-redux-action.md | 55 + .../redux/define-an-action-creator.md | 57 + .../redux/dispatch-an-action-event.md | 85 ++ .../redux/get-state-from-the-redux-store.md | 55 + .../redux/handle-an-action-in-the-store.md | 108 ++ .../redux/never-mutate-state.md | 133 ++ .../redux/register-a-store-listener.md | 118 ++ .../redux/remove-an-item-from-an-array.md | 114 ++ .../redux/send-action-data-to-the-store.md | 107 ++ ...ch-statement-to-handle-multiple-actions.md | 152 +++ .../redux/use-const-for-action-types.md | 202 +++ ...ddleware-to-handle-asynchronous-actions.md | 170 +++ .../use-the-spread-operator-on-arrays.md | 114 ++ .../redux/write-a-counter-with-redux.md | 122 ++ ...yle-until-a-condition-is-met-with-while.md | 117 ++ .../sass/create-reusable-css-with-mixins.md | 132 ++ ...ne-set-of-css-styles-to-another-element.md | 116 ++ .../sass/nest-css-with-sass.md | 105 ++ ...tyles-into-smaller-chunks-with-partials.md | 47 + .../sass/store-data-with-sass-variables.md | 121 ++ .../use-each-to-map-over-items-in-a-list.md | 135 ++ .../sass/use-for-to-create-a-sass-loop.md | 139 +++ ...if-and-else-to-add-logic-to-your-styles.md | 145 +++ .../visualize-data-with-a-bar-chart.md | 53 + .../visualize-data-with-a-choropleth-map.md | 52 + .../visualize-data-with-a-heat-map.md | 61 + ...visualize-data-with-a-scatterplot-graph.md | 57 + .../visualize-data-with-a-treemap-diagram.md | 53 + .../add-a-hover-effect-to-a-d3-element.md | 118 ++ .../add-a-tooltip-to-a-d3-element.md | 175 +++ .../add-attributes-to-the-circle-elements.md | 211 ++++ .../add-axes-to-a-visualization.md | 198 +++ .../add-classes-with-d3.md | 93 ++ .../add-document-elements-with-d3.md | 105 ++ .../add-inline-styling-to-elements.md | 76 ++ .../add-labels-to-d3-elements.md | 153 +++ .../add-labels-to-scatter-plot-circles.md | 224 ++++ .../change-styles-based-on-data.md | 123 ++ .../change-the-color-of-an-svg-element.md | 88 ++ .../change-the-presentation-of-a-bar-chart.md | 161 +++ ...te-a-bar-for-each-data-point-in-the-set.md | 110 ++ .../create-a-linear-scale-with-d3.md | 88 ++ .../create-a-scatterplot-with-svg-circles.md | 103 ++ .../display-shapes-with-svg.md | 103 ++ ...namically-change-the-height-of-each-bar.md | 145 +++ ...ically-set-the-coordinates-for-each-bar.md | 151 +++ .../invert-svg-elements.md | 143 +++ .../learn-about-svg-in-d3.md | 93 ++ .../select-a-group-of-elements-with-d3.md | 82 ++ .../set-a-domain-and-a-range-on-a-scale.md | 106 ++ .../style-d3-labels.md | 110 ++ ...te-the-height-of-an-element-dynamically.md | 137 +++ ...e-a-pre-defined-scale-to-place-elements.md | 347 ++++++ .../use-dynamic-scales.md | 156 +++ ...minimum-and-maximum-values-in-a-dataset.md | 90 ++ .../work-with-data-in-d3.md | 105 ++ .../work-with-dynamic-data-in-d3.md | 122 ++ .../access-the-json-data-from-an-api.md | 167 +++ .../change-text-with-click-events.md | 140 +++ .../convert-json-data-to-html.md | 199 +++ ...on-data-to-find-a-users-gps-coordinates.md | 98 ++ ...t-json-with-the-javascript-fetch-method.md | 174 +++ ...th-the-javascript-xmlhttprequest-method.md | 196 +++ ...h-javascript-using-the-onclick-property.md | 140 +++ ...th-the-javascript-xmlhttprequest-method.md | 206 ++++ ...re-filter-json-to-get-the-data-you-need.md | 171 +++ .../render-images-from-data-sources.md | 163 +++ .../exercise-tracker.md | 621 ++++++++++ .../file-metadata-microservice.md | 88 ++ .../request-header-parser-microservice.md | 77 ++ .../timestamp-microservice.md | 156 +++ .../url-shortener-microservice.md | 119 ++ ...hain-middleware-to-create-a-time-server.md | 79 ++ .../get-data-from-post-requests.md | 78 ++ ...t-query-parameter-input-from-the-client.md | 67 + ...t-route-parameter-input-from-the-client.md | 65 + ...-a-root-level-request-logger-middleware.md | 57 + .../meet-the-node-console.md | 53 + .../serve-an-html-file.md | 51 + .../serve-json-on-a-specific-route.md | 47 + .../serve-static-assets.md | 51 + .../start-a-working-express-server.md | 57 + .../use-body-parser-to-parse-post-requests.md | 63 + .../use-the-.env-file.md | 54 + .../add-a-description-to-your-package.json.md | 52 + .../add-a-license-to-your-package.json.md | 48 + .../add-a-version-to-your-package.json.md | 46 + .../add-keywords-to-your-package.json.md | 84 ++ ...project-with-external-packages-from-npm.md | 77 ++ ...e-of-any-node.js-project-or-npm-package.md | 60 + ...es-by-understanding-semantic-versioning.md | 73 ++ ...remove-a-package-from-your-dependencies.md | 52 + ...he-latest-minor-version-of-a-dependency.md | 75 ++ ...he-latest-patch-version-of-a-dependency.md | 75 ++ ...-query-helpers-to-narrow-search-results.md | 76 ++ .../mongodb-and-mongoose/create-a-model.md | 88 ++ .../create-and-save-a-record-of-a-model.md | 56 + .../create-many-records-with-model.create.md | 68 + ...delete-many-documents-with-model.remove.md | 57 + ...-document-using-model.findbyidandremove.md | 53 + .../install-and-set-up-mongoose.md | 79 ++ ...-updates-by-running-find-edit-then-save.md | 54 + ...a-document-using-model.findoneandupdate.md | 58 + .../use-model.find-to-search-your-database.md | 53 + ....findbyid-to-search-your-database-by-id.md | 48 + ...le-matching-document-from-your-database.md | 51 + .../announce-new-users.md | 90 ++ .../authentication-strategies.md | 96 ++ .../authentication-with-socket.io.md | 154 +++ .../clean-up-your-project-with-modules.md | 64 + .../communicate-by-emitting.md | 107 ++ .../create-new-middleware.md | 87 ++ .../handle-a-disconnect.md | 69 ++ .../hashing-your-passwords.md | 86 ++ .../how-to-put-a-profile-together.md | 57 + .../how-to-use-passport-strategies.md | 79 ++ ...nt-the-serialization-of-a-passport-user.md | 91 ++ ...lementation-of-social-authentication-ii.md | 116 ++ ...ementation-of-social-authentication-iii.md | 80 ++ ...implementation-of-social-authentication.md | 108 ++ .../logging-a-user-out.md | 81 ++ .../registration-of-new-users.md | 205 +++ .../send-and-display-chat-messages.md | 79 ++ .../serialization-of-a-user-object.md | 131 ++ .../set-up-a-template-engine.md | 116 ++ .../set-up-passport.md | 130 ++ .../set-up-the-environment.md | 148 +++ .../use-a-template-engines-powers.md | 77 ++ ...ality-with-.deepequal-and-.notdeepequal.md | 79 ++ .../compare-the-properties-of-two-elements.md | 109 ++ .../learn-how-javascript-assertions-work.md | 75 ++ ...sponse-using-chai-http-iii---put-method.md | 148 +++ ...esponse-using-chai-http-iv---put-method.md | 126 ++ ...sts-on-api-endpoints-using-chai-http-ii.md | 75 ++ ...-tests-on-api-endpoints-using-chai-http.md | 100 ++ ...ional-tests-using-a-headless-browser-ii.md | 115 ++ ...nctional-tests-using-a-headless-browser.md | 148 +++ ...mulate-actions-using-a-headless-browser.md | 72 ++ .../test-for-truthiness.md | 101 ++ .../test-if-a-string-contains-a-substring.md | 79 ++ ...f-a-value-falls-within-a-specific-range.md | 87 ++ .../test-if-a-value-is-a-string.md | 93 ++ .../test-if-a-value-is-an-array.md | 77 ++ ...ue-is-of-a-specific-data-structure-type.md | 133 ++ ...st-if-a-variable-or-function-is-defined.md | 95 ++ .../test-if-an-array-contains-an-item.md | 77 ++ .../test-if-an-object-has-a-property.md | 93 ++ ...-object-is-an-instance-of-a-constructor.md | 115 ++ ...s-below-or-at-least-as-large-as-another.md | 109 ++ .../use-assert.isok-and-assert.isnotok.md | 87 ++ ...se-regular-expressions-to-test-a-string.md | 79 ++ ...se-the-double-equals-to-assert-equality.md | 111 ++ ...triple-equals-to-assert-strict-equality.md | 111 ++ .../american-british-translator.md | 337 +++++ .../issue-tracker.md | 369 ++++++ .../metric-imperial-converter.md | 318 +++++ .../personal-library.md | 220 ++++ .../sudoku-solver.md | 407 ++++++ .../build-your-own-functions.md | 71 ++ .../comparing-and-sorting-tuples.md | 61 + .../conditional-execution.md | 54 + .../data-visualization-mailing-lists.md | 56 + .../data-visualization-page-rank.md | 34 + .../dictionaries-and-loops.md | 53 + .../dictionaries-common-applications.md | 47 + .../files-as-a-sequence.md | 44 + .../intermediate-expressions.md | 56 + .../intermediate-strings.md | 53 + .../introduction-elements-of-python.md | 40 + .../introduction-hardware-achitecture.md | 34 + .../introduction-python-as-a-language.md | 43 + .../introduction-why-program.md | 46 + .../iterations-definite-loops.md | 43 + .../iterations-loop-idioms.md | 49 + .../iterations-more-patterns.md | 52 + .../loops-and-iterations.md | 55 + .../make-a-relational-database.md | 52 + .../more-conditional-structures.md | 60 + .../networking-protocol.md | 38 + .../networking-text-processing.md | 34 + .../networking-using-urllib-in-python.md | 41 + .../networking-web-scraping-with-python.md | 60 + .../networking-with-python.md | 38 + .../networking-write-a-web-browser.md | 54 + .../python-for-everybody/object-lifecycle.md | 71 ++ .../objects-a-sample-class.md | 62 + .../objects-inheritance.md | 38 + .../python-dictionaries.md | 59 + .../python-for-everybody/python-functions.md | 42 + .../python-for-everybody/python-lists.md | 43 + .../python-for-everybody/python-objects.md | 38 + .../python-for-everybody/reading-files.md | 42 + ...xpressions-matching-and-extracting-data.md | 45 + ...ular-expressions-practical-applications.md | 38 + .../regular-expressions.md | 42 + .../relational-database-design.md | 38 + .../relational-databases-and-sqlite.md | 44 + .../relational-databases-join-operation.md | 34 + ...al-databases-many-to-many-relationships.md | 52 + ...ational-databases-relationship-building.md | 34 + ...-relationships-in-a-relational-database.md | 38 + .../python-for-everybody/strings-and-lists.md | 51 + .../python-for-everybody/strings-in-python.md | 63 + .../the-tuples-collection.md | 63 + .../using-web-services.md | 42 + .../variables-expressions-and-statements.md | 38 + .../visualizing-data-with-python.md | 42 + ...services-api-rate-limiting-and-security.md | 50 + .../python-for-everybody/web-services-apis.md | 38 + .../python-for-everybody/web-services-json.md | 60 + .../web-services-service-oriented-approach.md | 34 + .../web-services-xml-schema.md | 34 + .../python-for-everybody/web-services-xml.md | 47 + .../working-with-lists.md | 38 + .../arithmetic-formatter.md | 100 ++ .../budget-app.md | 102 ++ .../polygon-area-calculator.md | 112 ++ .../probability-calculator.md | 86 ++ .../time-calculator.md | 79 ++ .../data-analysis-example-a.md | 47 + .../data-analysis-example-b.md | 43 + .../data-cleaning-and-visualizations.md | 47 + .../data-cleaning-duplicates.md | 43 + .../data-cleaning-introduction.md | 62 + .../data-cleaning-with-dataframes.md | 74 ++ .../how-to-use-jupyter-notebooks-intro.md | 43 + .../introduction-to-data-analysis.md | 44 + .../jupyter-notebooks-cells.md | 42 + ...-notebooks-importing-and-exporting-data.md | 51 + .../numpy-algebra-and-size.md | 47 + .../numpy-arrays.md | 63 + .../numpy-boolean-arrays.md | 61 + .../numpy-introduction-a.md | 43 + .../numpy-introduction-b.md | 47 + .../numpy-operations.md | 54 + ...onal-selection-and-modifying-dataframes.md | 77 ++ .../pandas-creating-columns.md | 62 + .../pandas-dataframes.md | 70 ++ ...ndas-indexing-and-conditional-selection.md | 69 ++ .../pandas-introduction.md | 72 ++ .../parsing-html-and-saving-data.md | 47 + .../python-functions-and-collections.md | 43 + .../python-introduction.md | 47 + .../python-iteration-and-modules.md | 60 + .../reading-data-csv-and-txt.md | 59 + .../reading-data-from-databases.md | 43 + .../reading-data-introduction.md | 76 ++ .../demographic-data-analyzer.md | 79 ++ ...-variance-standard-deviation-calculator.md | 81 ++ .../medical-data-visualizer.md | 91 ++ .../page-view-time-series-visualizer.md | 61 + .../sea-level-predictor.md | 66 + ...ng-and-changing-elements,-rows,-columns.md | 54 + .../numpy/basics-of-numpy.md | 49 + .../numpy/copying-arrays-warning.md | 48 + .../numpy/initialize-array-problem.md | 65 + .../numpy/initializing-different-arrays.md | 48 + .../loading-data-and-advanced-indexing.md | 60 + .../numpy/mathematics.md | 53 + .../numpy/reorganizing-arrays.md | 53 + .../numpy/what-is-numpy.md | 38 + .../anonymous-message-board.md | 393 ++++++ .../port-scanner.md | 97 ++ .../secure-real-time-multiplayer-game.md | 186 +++ .../sha-1-password-cracker.md | 74 ++ .../stock-price-checker.md | 136 ++ ...ur-site-via-https-only-with-helmet.hsts.md | 63 + ...-response-mime-type-with-helmet.nosniff.md | 42 + ...lmet-using-the-parent-helmet-middleware.md | 50 + ...client-side-caching-with-helmet.nocache.md | 47 + ...fetching-with-helmet.dnsprefetchcontrol.md | 44 + ...sh-and-compare-passwords-asynchronously.md | 81 ++ ...ash-and-compare-passwords-synchronously.md | 66 + ...-information-using-helmet.hidepoweredby.md | 40 + .../install-and-require-helmet.md | 53 + ...-of-clickjacking-with-helmet.frameguard.md | 64 + ...pting-xss-attacks-with-helmet.xssfilter.md | 51 + ...ing-untrusted-html-with-helmet.ienoopen.md | 44 + ...olicy-with-helmet.contentsecuritypolicy.md | 71 ++ .../understand-bcrypt-hashes.md | 72 ++ .../creating-a-tcp-client.md | 34 + .../developing-a-banner-grabber.md | 47 + .../developing-a-port-scanner.md | 34 + .../developing-an-nmap-scanner-part-1.md | 34 + .../developing-an-nmap-scanner-part-2.md | 34 + .../introduction-and-setup.md | 34 + ...nding-sockets-and-creating-a-tcp-server.md | 34 + .../find-the-symmetric-difference.md | 150 +++ .../algorithms/implement-binary-search.md | 155 +++ .../algorithms/implement-bubble-sort.md | 138 +++ .../algorithms/implement-insertion-sort.md | 135 ++ .../algorithms/implement-merge-sort.md | 156 +++ .../algorithms/implement-quick-sort.md | 142 +++ .../algorithms/implement-selection-sort.md | 131 ++ .../algorithms/inventory-update.md | 228 ++++ .../algorithms/no-repeats-please.md | 126 ++ .../algorithms/pairwise.md | 100 ++ ...d-a-new-element-to-a-binary-search-tree.md | 191 +++ ...ts-at-a-specific-index-in-a-linked-list.md | 161 +++ .../data-structures/adjacency-list.md | 91 ++ .../data-structures/adjacency-matrix.md | 108 ++ .../data-structures/breadth-first-search.md | 182 +++ ...ment-is-present-in-a-binary-search-tree.md | 175 +++ .../check-if-binary-search-tree.md | 154 +++ .../create-a-circular-queue.md | 235 ++++ .../create-a-doubly-linked-list.md | 216 ++++ .../data-structures/create-a-hash-table.md | 260 ++++ .../create-a-linked-list-class.md | 146 +++ .../create-a-map-data-structure.md | 204 +++ .../create-a-priority-queue-class.md | 231 ++++ .../data-structures/create-a-queue-class.md | 174 +++ .../data-structures/create-a-set-class.md | 219 ++++ .../data-structures/create-a-stack-class.md | 167 +++ .../create-a-trie-search-tree.md | 151 +++ .../create-an-es6-javascript-map.md | 53 + .../create-and-add-to-sets-in-es6.md | 92 ++ ...ete-a-leaf-node-in-a-binary-search-tree.md | 216 ++++ ...-with-one-child-in-a-binary-search-tree.md | 286 +++++ ...th-two-children-in-a-binary-search-tree.md | 399 ++++++ .../data-structures/depth-first-search.md | 225 ++++ ...-maximum-height-of-a-binary-search-tree.md | 346 ++++++ ...d-maximum-value-in-a-binary-search-tree.md | 369 ++++++ .../implement-heap-sort-with-a-min-heap.md | 144 +++ .../data-structures/incidence-matrix.md | 110 ++ .../insert-an-element-into-a-max-heap.md | 165 +++ .../data-structures/invert-a-binary-tree.md | 192 +++ .../learn-how-a-stack-works.md | 71 ++ ...erform-a-difference-on-two-sets-of-data.md | 219 ++++ ...form-a-subset-check-on-two-sets-of-data.md | 302 +++++ .../perform-a-union-on-two-sets.md | 155 +++ ...orm-an-intersection-on-two-sets-of-data.md | 184 +++ .../remove-an-element-from-a-max-heap.md | 171 +++ ...ve-elements-from-a-linked-list-by-index.md | 242 ++++ .../remove-elements-from-a-linked-list.md | 210 ++++ .../remove-items-from-a-set-in-es6.md | 67 + .../reverse-a-doubly-linked-list.md | 205 +++ .../search-within-a-linked-list.md | 293 +++++ .../data-structures/typed-arrays.md | 94 ++ .../use-.has-and-.size-on-an-es6-set.md | 73 ++ ...th-first-search-in-a-binary-search-tree.md | 261 ++++ ...th-first-search-in-a-binary-search-tree.md | 328 +++++ ...pread-and-notes-for-es5-set-integration.md | 59 + .../work-with-nodes-in-a-linked-list.md | 55 + .../problem-1-multiples-of-3-and-5.md | 73 ++ .../problem-10-summation-of-primes.md | 106 ++ .../problem-100-arranged-probability.md | 87 ++ .../problem-101-optimum-polynomial.md | 58 + .../problem-102-triangle-containment.md | 156 +++ ...problem-103-special-subset-sums-optimum.md | 56 + .../problem-104-pandigital-fibonacci-ends.md | 44 + ...problem-105-special-subset-sums-testing.md | 59 + ...em-106-special-subset-sums-meta-testing.md | 49 + .../problem-107-minimal-network.md | 71 ++ .../problem-108-diophantine-reciprocals-i.md | 48 + .../project-euler/problem-109-darts.md | 57 + .../problem-11-largest-product-in-a-grid.md | 182 +++ .../problem-110-diophantine-reciprocals-ii.md | 46 + .../problem-111-primes-with-runs.md | 61 + .../problem-112-bouncy-numbers.md | 48 + .../problem-113-non-bouncy-numbers.md | 46 + ...oblem-114-counting-block-combinations-i.md | 44 + ...blem-115-counting-block-combinations-ii.md | 50 + .../problem-116-red-green-or-blue-tiles.md | 54 + .../problem-117-red-green-and-blue-tiles.md | 44 + .../problem-118-pandigital-prime-sets.md | 40 + .../problem-119-digit-power-sum.md | 44 + ...m-12-highly-divisible-triangular-number.md | 139 +++ .../problem-120-square-remainders.md | 42 + .../problem-121-disc-game-prize-fund.md | 44 + .../problem-122-efficient-exponentiation.md | 57 + .../problem-123-prime-square-remainders.md | 44 + .../problem-124-ordered-radicals.md | 142 +++ .../problem-125-palindromic-sums.md | 79 ++ .../problem-126-cuboid-layers.md | 50 + .../project-euler/problem-127-abc-hits.md | 56 + .../problem-128-hexagonal-tile-differences.md | 106 ++ .../problem-129-repunit-divisibility.md | 44 + .../project-euler/problem-13-large-sum.md | 286 +++++ ...-composites-with-prime-repunit-property.md | 46 + .../problem-131-prime-cube-partnership.md | 44 + .../problem-132-large-repunit-factors.md | 42 + .../problem-133-repunit-nonfactors.md | 44 + .../problem-134-prime-pair-connection.md | 42 + .../problem-135-same-differences.md | 44 + .../problem-136-singleton-difference.md | 44 + .../problem-137-fibonacci-golden-nuggets.md | 59 + ...problem-138-special-isosceles-triangles.md | 46 + .../problem-139-pythagorean-tiles.md | 46 + .../problem-14-longest-collatz-sequence.md | 111 ++ ...m-140-modified-fibonacci-golden-nuggets.md | 52 + ...ressive-numbers-n-which-are-also-square.md | 46 + .../problem-142-perfect-square-collection.md | 38 + ...ting-the-torricelli-point-of-a-triangle.md | 46 + ...ng-multiple-reflections-of-a-laser-beam.md | 61 + ...ble-numbers-are-there-below-one-billion.md | 42 + ...oblem-146-investigating-a-prime-pattern.md | 40 + ...m-147-rectangles-in-cross-hatched-grids.md | 48 + .../problem-148-exploring-pascals-triangle.md | 54 + ...searching-for-a-maximum-sum-subsequence.md | 54 + .../project-euler/problem-15-lattice-paths.md | 68 + ...y-for-a-sub-triangle-having-minimum-sum.md | 63 + ...tandard-sizes-an-expected-value-problem.md | 52 + ...ng-one-half-as-a-sum-of-inverse-squares.md | 46 + ...lem-153-investigating-gaussian-integers.md | 84 ++ .../problem-154-exploring-pascals-pyramid.md | 46 + ...problem-155-counting-capacitor-circuits.md | 50 + .../problem-156-counting-digits.md | 68 + ...em-157-solving-the-diophantine-equation.md | 47 + ...hically-after-its-neighbour-to-the-left.md | 54 + ...159-digital-root-sums-of-factorisations.md | 63 + .../problem-16-power-digit-sum.md | 85 ++ .../problem-160-factorial-trailing-digits.md | 45 + .../project-euler/problem-161-triominoes.md | 52 + .../problem-162-hexadecimal-numbers.md | 58 + .../problem-163-cross-hatched-triangles.md | 51 + ...s-have-a-sum-greater-than-a-given-value.md | 40 + .../problem-165-intersections.md | 64 + .../project-euler/problem-166-criss-cross.md | 48 + ...roblem-167-investigating-ulam-sequences.md | 46 + .../problem-168-number-rotations.md | 82 ++ ...an-be-expressed-as-a-sum-of-powers-of-2.md | 48 + .../problem-17-number-letter-counts.md | 130 ++ ...can-be-formed-by-concatenating-products.md | 49 + ...f-the-squares-of-the-digits-is-a-square.md | 46 + ...gating-numbers-with-few-repeated-digits.md | 38 + ...ent-hollow-square-laminae-can-be-formed.md | 44 + ...one-two-three-...-distinct-arrangements.md | 50 + ...an-be-expressed-as-a-sum-of-powers-of-2.md | 62 + ...-angled-triangles-that-share-a-cathetus.md | 40 + ...oblem-177-integer-angled-quadrilaterals.md | 48 + .../project-euler/problem-178-step-numbers.md | 46 + ...oblem-179-consecutive-positive-divisors.md | 38 + .../problem-18-maximum-path-sum-i.md | 109 ++ ...-zeros-of-a-function-of-three-variables.md | 53 + ...of-two-different-colours-can-be-grouped.md | 44 + .../problem-182-rsa-encryption.md | 102 ++ .../problem-183-maximum-product-of-parts.md | 54 + ...lem-184-triangles-containing-the-origin.md | 46 + .../project-euler/problem-185-number-mind.md | 66 + .../problem-186-connectedness-of-a-network.md | 57 + .../project-euler/problem-187-semiprimes.md | 42 + ...188-the-hyperexponentiation-of-a-number.md | 44 + ...lem-189-tri-colouring-a-triangular-grid.md | 50 + .../problem-19-counting-sundays.md | 76 ++ ...oblem-190-maximising-a-weighted-product.md | 42 + .../problem-191-prize-strings.md | 52 + .../problem-192-best-approximations.md | 46 + .../problem-193-squarefree-numbers.md | 40 + .../problem-194-coloured-configurations.md | 46 + ...-triangles-with-one-angle-of-60-degrees.md | 46 + .../problem-196-prime-triplets.md | 60 + ...viour-of-a-recursively-defined-sequence.md | 40 + .../problem-198-ambiguous-numbers.md | 42 + .../problem-199-iterative-circle-packing.md | 75 ++ .../problem-2-even-fibonacci-numbers.md | 103 ++ .../problem-20-factorial-digit-sum.md | 79 ++ ...ontaining-the-contiguous-sub-string-200.md | 48 + .../problem-201-subsets-with-a-unique-sum.md | 58 + .../project-euler/problem-202-laserbeam.md | 46 + ...em-203-squarefree-binomial-coefficients.md | 50 + ...problem-204-generalised-hamming-numbers.md | 46 + .../project-euler/problem-205-dice-game.md | 44 + .../problem-206-concealed-square.md | 63 + ...problem-207-integer-partition-equations.md | 56 + .../project-euler/problem-208-robot-walks.md | 46 + .../problem-209-circular-logic.md | 58 + .../problem-21-amicable-numbers.md | 84 ++ .../problem-210-obtuse-angled-triangles.md | 46 + .../problem-211-divisor-square-sum.md | 42 + .../problem-212-combined-volume-of-cuboids.md | 57 + .../project-euler/problem-213-flea-circus.md | 42 + .../problem-214-totient-chains.md | 50 + .../problem-215-crack-free-walls.md | 46 + ...-primality-of-numbers-of-the-form-2n2-1.md | 46 + .../problem-217-balanced-numbers.md | 46 + ...blem-218-perfect-right-angled-triangles.md | 56 + .../problem-219-skew-cost-coding.md | 50 + .../project-euler/problem-22-names-scores.md | 90 ++ .../problem-220-heighway-dragon.md | 57 + .../problem-221-alexandrian-integers.md | 49 + .../problem-222-sphere-packing.md | 40 + ...lem-223-almost-right-angled-triangles-i.md | 40 + ...em-224-almost-right-angled-triangles-ii.md | 40 + .../problem-225-tribonacci-non-divisors.md | 44 + .../problem-226-a-scoop-of-blancmange.md | 46 + .../project-euler/problem-227-the-chase.md | 50 + .../problem-228-minkowski-sums.md | 51 + ...-229-four-representations-using-squares.md | 56 + .../problem-23-non-abundant-sums.md | 101 ++ .../problem-230-fibonacci-words.md | 64 + ...-factorisation-of-binomial-coefficients.md | 44 + .../project-euler/problem-232-the-race.md | 50 + .../problem-233-lattice-points-on-a-circle.md | 42 + .../problem-234-semidivisible-numbers.md | 46 + ...em-235-an-arithmetic-geometric-sequence.md | 44 + .../problem-236-luxury-hampers.md | 65 + ...blem-237-tours-on-a-4-x-n-playing-board.md | 49 + .../problem-238-infinite-string-tour.md | 59 + .../problem-239-twenty-two-foolish-primes.md | 42 + .../problem-24-lexicographic-permutations.md | 66 + .../project-euler/problem-240-top-dice.md | 44 + .../problem-241-perfection-quotients.md | 44 + .../project-euler/problem-242-odd-triplets.md | 44 + .../project-euler/problem-243-resilience.md | 50 + .../project-euler/problem-244-sliders.md | 58 + .../project-euler/problem-245-coresilience.md | 48 + .../problem-246-tangents-to-an-ellipse.md | 58 + .../problem-247-squares-under-a-hyperbola.md | 56 + ...which-eulers-totient-function-equals-13.md | 40 + .../problem-249-prime-subset-sums.md | 42 + .../problem-25-1000-digit-fibonacci-number.md | 85 ++ .../project-euler/problem-250-250250.md | 38 + .../problem-251-cardano-triplets.md | 46 + .../project-euler/problem-252-convex-holes.md | 51 + .../project-euler/problem-253-tidying-up.md | 69 ++ .../problem-254-sums-of-digit-factorials.md | 48 + .../problem-255-rounded-square-roots.md | 67 + .../problem-256-tatami-free-rooms.md | 56 + .../problem-257-angular-bisectors.md | 46 + ...problem-258-a-lagged-fibonacci-sequence.md | 43 + .../problem-259-reachable-numbers.md | 49 + .../problem-26-reciprocal-cycles.md | 68 + .../project-euler/problem-260-stone-game.md | 60 + .../problem-261-pivotal-square-sums.md | 48 + .../problem-262-mountain-range.md | 50 + ...roblem-263-an-engineers-dream-come-true.md | 57 + .../problem-264-triangle-centres.md | 71 ++ .../problem-265-binary-circles.md | 53 + .../problem-266-pseudo-square-root.md | 46 + .../project-euler/problem-267-billionaire.md | 48 + ...ur-distinct-prime-factors-less-than-100.md | 42 + ...ynomials-with-at-least-one-integer-root.md | 54 + .../problem-27-quadratic-primes.md | 78 ++ .../problem-270-cutting-squares.md | 48 + .../problem-271-modular-cubes-part-1.md | 42 + .../problem-272-modular-cubes-part-2.md | 42 + .../problem-273-sum-of-squares.md | 48 + .../problem-274-divisibility-multipliers.md | 52 + .../problem-275-balanced-sculptures.md | 51 + .../problem-276-primitive-triangles.md | 42 + ...problem-277-a-modified-collatz-sequence.md | 56 + ...m-278-linear-combinations-of-semiprimes.md | 44 + ...th-integral-sides-and-an-integral-angle.md | 38 + .../problem-28-number-spiral-diagonals.md | 83 ++ .../problem-280-ant-and-seeds.md | 42 + .../problem-281-pizza-toppings.md | 46 + .../problem-282-the-ackermann-function.md | 45 + ...h-the-area--perimeter-ratio-is-integral.md | 48 + .../problem-284-steady-squares.md | 50 + .../problem-285-pythagorean-odds.md | 46 + .../problem-286-scoring-probabilities.md | 42 + ...encoding-a-simple-compression-algorithm.md | 59 + .../problem-288-an-enormous-factorial.md | 49 + .../problem-289-eulerian-cycles.md | 50 + .../problem-29-distinct-powers.md | 86 ++ .../problem-290-digital-signature.md | 38 + .../problem-291-panaitopol-primes.md | 40 + .../problem-292-pythagorean-polygons.md | 51 + .../problem-293-pseudo-fortunate-numbers.md | 46 + ...oblem-294-sum-of-digits---experience-23.md | 47 + .../problem-295-lenticular-holes.md | 59 + ...roblem-296-angular-bisector-and-tangent.md | 44 + .../problem-297-zeckendorf-representation.md | 52 + .../problem-298-selective-amnesia.md | 57 + .../problem-299-three-similar-triangles.md | 56 + .../problem-3-largest-prime-factor.md | 95 ++ .../problem-30-digit-n-powers.md | 74 ++ .../problem-300-protein-folding.md | 56 + .../project-euler/problem-301-nim.md | 58 + .../problem-302-strong-achilles-numbers.md | 50 + ...problem-303-multiples-with-small-digits.md | 44 + .../project-euler/problem-304-primonacci.md | 46 + .../problem-305-reflexive-position.md | 46 + .../problem-306-paper-strip-game.md | 54 + .../project-euler/problem-307-chip-defects.md | 42 + ...8-an-amazing-prime-generating-automaton.md | 54 + .../problem-309-integer-ladders.md | 46 + .../project-euler/problem-31-coin-sums.md | 77 ++ .../project-euler/problem-310-nim-square.md | 46 + ...em-311-biclinic-integral-quadrilaterals.md | 50 + ...em-312-cyclic-paths-on-sierpiski-graphs.md | 53 + .../project-euler/problem-313-sliding-game.md | 48 + .../problem-314-the-mouse-on-the-moon.md | 50 + .../problem-315-digital-root-clocks.md | 72 ++ ...oblem-316-numbers-in-decimal-expansions.md | 58 + .../project-euler/problem-317-firecracker.md | 42 + .../project-euler/problem-318-2011-nines.md | 56 + .../problem-319-bounded-sequences.md | 48 + .../problem-32-pandigital-products.md | 118 ++ ...-factorials-divisible-by-a-huge-integer.md | 44 + .../problem-321-swapping-counters.md | 52 + ...2-binomial-coefficients-divisible-by-10.md | 42 + ...itwise-or-operations-on-random-integers.md | 47 + .../problem-324-building-a-tower.md | 46 + .../problem-325-stone-game-ii.md | 50 + .../problem-326-modulo-summations.md | 50 + .../problem-327-rooms-of-doom.md | 62 + .../problem-328-lowest-cost-search.md | 56 + .../project-euler/problem-329-prime-frog.md | 54 + .../problem-33-digit-cancelling-fractions.md | 102 ++ .../problem-330-eulers-number.md | 54 + .../project-euler/problem-331-cross-flips.md | 52 + .../problem-332-spherical-triangles.md | 52 + .../problem-333-special-partitions.md | 53 + .../problem-334-spilling-the-beans.md | 53 + .../problem-335-gathering-the-beans.md | 46 + .../problem-336-maximix-arrangements.md | 58 + ...problem-337-totient-stairstep-sequences.md | 52 + ...blem-338-cutting-rectangular-grid-paper.md | 52 + .../problem-339-peredur-fab-efrawg.md | 44 + .../problem-34-digit-factorials.md | 50 + .../problem-340-crazy-function.md | 47 + ...em-341-golombs-self-describing-sequence.md | 47 + ...m-342-the-totient-of-a-square-is-a-cube.md | 45 + .../problem-343-fractional-sequences.md | 55 + .../problem-344-silver-dollar-game.md | 56 + .../project-euler/problem-345-matrix-sum.md | 55 + .../problem-346-strong-repunits.md | 42 + ...largest-integer-divisible-by-two-primes.md | 48 + .../problem-348-sum-of-a-square-and-a-cube.md | 48 + .../project-euler/problem-349-langtons-ant.md | 45 + .../problem-35-circular-primes.md | 132 ++ ...e-least-greatest-and-the-greatest-least.md | 50 + .../problem-351-hexagonal-orchards.md | 48 + .../project-euler/problem-352-blood-tests.md | 70 ++ .../project-euler/problem-353-risky-moon.md | 54 + ...oblem-354-distances-in-a-bees-honeycomb.md | 46 + .../problem-355-maximal-coprime-subset.md | 42 + ...-356-largest-roots-of-cubic-polynomials.md | 44 + .../problem-357-prime-generating-integers.md | 42 + .../problem-358-cyclic-numbers.md | 57 + .../problem-359-hilberts-new-hotel.md | 62 + .../problem-36-double-base-palindromes.md | 66 + .../project-euler/problem-360-scary-sphere.md | 48 + ...-361-subsequence-of-thue-morse-sequence.md | 55 + .../problem-362-squarefree-factors.md | 52 + .../project-euler/problem-363-bzier-curves.md | 56 + .../problem-364-comfortable-distance.md | 50 + ...problem-365-a-huge-binomial-coefficient.md | 42 + .../problem-366-stone-game-iii.md | 68 + .../project-euler/problem-367-bozo-sort.md | 56 + .../problem-368-a-kempner-like-series.md | 51 + .../project-euler/problem-369-badugi.md | 42 + .../problem-37-truncatable-primes.md | 66 + .../problem-370-geometric-triangles.md | 44 + .../problem-371-licence-plates.md | 48 + .../problem-372-pencils-of-rays.md | 44 + .../problem-373-circumscribed-circles.md | 44 + ...m-374-maximum-integer-partition-product.md | 54 + .../problem-375-minimum-of-subsequences.md | 47 + .../problem-376-nontransitive-sets-of-dice.md | 69 ++ ...problem-377-sum-of-digits-experience-13.md | 46 + .../problem-378-triangle-triples.md | 44 + ...problem-379-least-common-multiple-count.md | 44 + .../problem-38-pandigital-multiples.md | 98 ++ .../problem-380-amazing-mazes.md | 54 + .../problem-381-prime-k-factorial.md | 48 + .../problem-382-generating-polygons.md | 65 + ...isibility-comparison-between-factorials.md | 46 + .../problem-384-rudin-shapiro-sequence.md | 65 + .../problem-385-ellipses-inside-triangles.md | 55 + ...blem-386-maximum-length-of-an-antichain.md | 50 + .../problem-387-harshad-numbers.md | 58 + .../problem-388-distinct-lines.md | 44 + .../problem-389-platonic-dice.md | 48 + .../problem-39-integer-right-triangles.md | 91 ++ ...th-non-rational-sides-and-integral-area.md | 46 + .../project-euler/problem-391-hopping-game.md | 59 + .../problem-392-enmeshed-unit-circle.md | 58 + .../problem-393-migrating-ants.md | 46 + .../project-euler/problem-394-eating-pie.md | 53 + .../problem-395-pythagorean-tree.md | 52 + .../problem-396-weak-goodstein-sequence.md | 62 + .../problem-397-triangle-on-parabola.md | 44 + .../project-euler/problem-398-cutting-rope.md | 42 + ...roblem-399-squarefree-fibonacci-numbers.md | 60 + .../problem-4-largest-palindrome-product.md | 64 + .../problem-40-champernownes-constant.md | 77 ++ .../problem-400-fibonacci-tree-game.md | 54 + .../problem-401-sum-of-squares-of-divisors.md | 46 + .../problem-402-integer-valued-polynomials.md | 51 + ...ce-points-enclosed-by-parabola-and-line.md | 46 + .../problem-404-crisscross-ellipses.md | 54 + .../problem-405-a-rectangular-tiling.md | 52 + .../problem-406-guessing-game.md | 68 + .../project-euler/problem-407-idempotents.md | 44 + ...lem-408-admissible-paths-through-a-grid.md | 46 + .../project-euler/problem-409-nim-extreme.md | 48 + .../problem-41-pandigital-prime.md | 117 ++ .../problem-410-circle-and-tangent-line.md | 46 + .../project-euler/problem-411-uphill-paths.md | 50 + .../problem-412-gnomon-numbering.md | 52 + .../problem-413-one-child-numbers.md | 46 + .../problem-414-kaprekar-constant.md | 64 + .../project-euler/problem-415-titanic-sets.md | 46 + .../project-euler/problem-416-a-frogs-trip.md | 44 + .../problem-417-reciprocal-cycles-ii.md | 53 + .../problem-418-factorisation-triples.md | 47 + .../problem-419-look-and-say-sequence.md | 65 + .../problem-42-coded-triangle-numbers.md | 71 ++ ...problem-420-2x2-positive-integer-matrix.md | 55 + .../problem-421-prime-factors-of-n151.md | 50 + ...m-422-sequence-of-points-on-a-hyperbola.md | 54 + .../problem-423-consecutive-die-throws.md | 59 + .../project-euler/problem-424-kakuro.md | 77 ++ .../problem-425-prime-connection.md | 53 + .../problem-426-box-ball-system.md | 61 + .../project-euler/problem-427-n-sequences.md | 48 + .../problem-428-necklace-of-circles.md | 59 + ...-429-sum-of-squares-of-unitary-divisors.md | 46 + .../problem-43-sub-string-divisibility.md | 126 ++ .../project-euler/problem-430-range-flips.md | 50 + .../problem-431-square-space-silo.md | 48 + .../project-euler/problem-432-totient-sum.md | 42 + .../problem-433-steps-in-euclids-algorithm.md | 51 + .../project-euler/problem-434-rigid-graphs.md | 66 + ...em-435-polynomials-of-fibonacci-numbers.md | 44 + .../project-euler/problem-436-unfair-wager.md | 56 + .../problem-437-fibonacci-primitive-roots.md | 56 + ...-part-of-polynomial-equations-solutions.md | 51 + .../problem-439-sum-of-sum-of-divisors.md | 46 + .../problem-44-pentagon-numbers.md | 77 ++ .../problem-440-gcd-and-tiling.md | 57 + ...he-inverse-summation-of-coprime-couples.md | 48 + .../problem-442-eleven-free-integers.md | 44 + .../project-euler/problem-443-gcd-sequence.md | 50 + .../problem-444-the-roundtable-lottery.md | 61 + .../problem-445-retractions-a.md | 50 + .../problem-446-retractions-b.md | 50 + .../problem-447-retractions-c.md | 50 + ...oblem-448-average-least-common-multiple.md | 48 + .../problem-449-chocolate-covered-candy.md | 46 + ...-45-triangular-pentagonal-and-hexagonal.md | 82 ++ ...blem-450-hypocycloid-and-lattice-points.md | 63 + .../problem-451-modular-inverses.md | 55 + .../problem-452-long-products.md | 44 + .../problem-453-lattice-quadrilaterals.md | 48 + ...problem-454-diophantine-reciprocals-iii.md | 46 + ...problem-455-powers-with-trailing-digits.md | 46 + ...-456-triangles-containing-the-origin-ii.md | 52 + ...polynomial-modulo-the-square-of-a-prime.md | 46 + .../problem-458-permutations-of-project.md | 44 + .../problem-459-flipping-game.md | 62 + .../problem-46-goldbachs-other-conjecture.md | 99 ++ .../problem-460-an-ant-on-the-move.md | 57 + .../project-euler/problem-461-almost-pi.md | 153 +++ ...lem-462-permutation-of-3-smooth-numbers.md | 58 + ...problem-463-a-weird-recurrence-relation.md | 48 + ...roblem-464-mbius-function-and-intervals.md | 57 + .../problem-465-polar-polygons.md | 54 + ...istinct-terms-in-a-multiplication-table.md | 54 + .../project-euler/problem-467-superinteger.md | 59 + ...mooth-divisors-of-binomial-coefficients.md | 54 + .../project-euler/problem-469-empty-chairs.md | 48 + .../problem-47-distinct-primes-factors.md | 91 ++ .../project-euler/problem-470-super-ramvok.md | 50 + ...oblem-471-triangle-inscribed-in-ellipse.md | 60 + .../problem-472-comfortable-distance-ii.md | 56 + .../problem-473-phigital-number-base.md | 56 + .../problem-474-last-digits-of-divisors.md | 44 + .../problem-475-music-festival.md | 48 + .../problem-476-circle-packing-ii.md | 44 + .../problem-477-number-sequence-game.md | 62 + .../project-euler/problem-478-mixtures.md | 56 + .../problem-479-roots-on-the-rise.md | 46 + .../project-euler/problem-48-self-powers.md | 80 ++ .../problem-480-the-last-question.md | 82 ++ .../problem-49-prime-permutations.md | 93 ++ .../problem-5-smallest-multiple.md | 83 ++ .../problem-50-consecutive-prime-sum.md | 123 ++ .../problem-51-prime-digit-replacements.md | 128 ++ .../problem-52-permuted-multiples.md | 81 ++ .../problem-53-combinatoric-selections.md | 89 ++ .../project-euler/problem-54-poker-hands.md | 1096 +++++++++++++++++ .../problem-55-lychrel-numbers.md | 113 ++ .../problem-56-powerful-digit-sum.md | 101 ++ .../problem-57-square-root-convergents.md | 98 ++ .../project-euler/problem-58-spiral-primes.md | 105 ++ .../problem-59-xor-decryption.md | 58 + .../problem-6-sum-square-difference.md | 78 ++ .../problem-60-prime-pair-sets.md | 46 + .../problem-61-cyclical-figurate-numbers.md | 252 ++++ .../problem-62-cubic-permutations.md | 97 ++ .../problem-63-powerful-digit-counts.md | 122 ++ .../problem-64-odd-period-square-roots.md | 148 +++ .../problem-65-convergents-of-e.md | 117 ++ .../problem-66-diophantine-equation.md | 129 ++ .../problem-67-maximum-path-sum-ii.md | 96 ++ .../problem-68-magic-5-gon-ring.md | 71 ++ .../problem-69-totient-maximum.md | 110 ++ .../project-euler/problem-7-10001st-prime.md | 86 ++ .../problem-70-totient-permutation.md | 118 ++ .../problem-71-ordered-fractions.md | 95 ++ .../problem-72-counting-fractions.md | 90 ++ ...roblem-73-counting-fractions-in-a-range.md | 83 ++ .../problem-74-digit-factorial-chains.md | 127 ++ ...lem-75-singular-integer-right-triangles.md | 117 ++ .../problem-76-counting-summations.md | 83 ++ .../problem-77-prime-summations.md | 110 ++ .../problem-78-coin-partitions.md | 103 ++ .../problem-79-passcode-derivation.md | 115 ++ .../problem-8-largest-product-in-a-series.md | 92 ++ ...roblem-80-square-root-digital-expansion.md | 109 ++ .../problem-81-path-sum-two-ways.md | 185 +++ .../problem-82-path-sum-three-ways.md | 195 +++ .../problem-83-path-sum-four-ways.md | 215 ++++ .../project-euler/problem-84-monopoly-odds.md | 268 ++++ .../problem-85-counting-rectangles.md | 109 ++ .../project-euler/problem-86-cuboid-route.md | 94 ++ .../problem-87-prime-power-triples.md | 131 ++ .../problem-88-product-sum-numbers.md | 110 ++ .../problem-89-roman-numerals.md | 117 ++ .../problem-9-special-pythagorean-triplet.md | 74 ++ .../problem-90-cube-digit-pairs.md | 65 + ...ight-triangles-with-integer-coordinates.md | 119 ++ .../problem-92-square-digit-chains.md | 153 +++ .../problem-93-arithmetic-expressions.md | 59 + ...problem-94-almost-equilateral-triangles.md | 84 ++ .../problem-95-amicable-chains.md | 124 ++ .../project-euler/problem-96-su-doku.md | 296 +++++ .../problem-97-large-non-mersenne-prime.md | 88 ++ .../problem-98-anagramic-squares.md | 205 +++ .../problem-99-largest-exponential.md | 83 ++ .../rosetta-code/100-doors.md | 67 + .../rosetta-code/24-game.md | 248 ++++ .../9-billion-names-of-god-the-integer.md | 116 ++ .../rosetta-code/abc-problem.md | 136 ++ ...ient-and-perfect-number-classifications.md | 95 ++ .../rosetta-code/accumulator-factory.md | 79 ++ .../rosetta-code/ackermann-function.md | 71 ++ .../rosetta-code/align-columns.md | 189 +++ .../rosetta-code/amicable-pairs.md | 128 ++ .../rosetta-code/averages-mode.md | 79 ++ .../averages-pythagorean-means.md | 144 +++ .../rosetta-code/averages-root-mean-square.md | 55 + .../rosetta-code/babbage-problem.md | 78 ++ .../rosetta-code/balanced-brackets.md | 188 +++ ...cles-of-given-radius-through-two-points.md | 150 +++ .../rosetta-code/closest-pair-problem.md | 414 +++++++ .../rosetta-code/combinations.md | 95 ++ .../rosetta-code/comma-quibbling.md | 101 ++ .../rosetta-code/compare-a-list-of-strings.md | 138 +++ .../convert-seconds-to-compound-duration.md | 129 ++ .../count-occurrences-of-a-substring.md | 79 ++ .../rosetta-code/count-the-coins.md | 93 ++ .../rosetta-code/cramers-rule.md | 171 +++ .../cumulative-standard-deviation.md | 126 ++ .../rosetta-code/cusip.md | 118 ++ .../rosetta-code/cut-a-rectangle.md | 203 +++ .../rosetta-code/date-format.md | 90 ++ .../rosetta-code/date-manipulation.md | 109 ++ .../rosetta-code/day-of-the-week.md | 74 ++ .../rosetta-code/deal-cards-for-freecell.md | 208 ++++ .../rosetta-code/deepcopy.md | 85 ++ .../define-a-primitive-data-type.md | 132 ++ .../rosetta-code/department-numbers.md | 126 ++ .../rosetta-code/discordian-date.md | 212 ++++ .../rosetta-code/dot-product.md | 75 ++ .../rosetta-code/element-wise-operations.md | 214 ++++ .../rosetta-code/emirp-primes.md | 138 +++ .../rosetta-code/entropy.md | 96 ++ .../rosetta-code/equilibrium-index.md | 130 ++ .../rosetta-code/ethiopian-multiplication.md | 156 +++ .../rosetta-code/euler-method.md | 152 +++ .../evaluate-binomial-coefficients.md | 74 ++ .../execute-a-markov-algorithm.md | 178 +++ .../rosetta-code/execute-brain.md | 202 +++ .../extensible-prime-generator.md | 139 +++ .../rosetta-code/factorial.md | 80 ++ .../factors-of-a-mersenne-number.md | 148 +++ .../rosetta-code/factors-of-an-integer.md | 74 ++ .../rosetta-code/farey-sequence.md | 109 ++ .../fibonacci-n-step-number-sequences.md | 133 ++ .../rosetta-code/fibonacci-sequence.md | 75 ++ .../rosetta-code/fibonacci-word.md | 115 ++ .../rosetta-code/fizzbuzz.md | 92 ++ .../rosetta-code/fractran.md | 139 +++ .../rosetta-code/gamma-function.md | 104 ++ .../rosetta-code/gaussian-elimination.md | 230 ++++ .../rosetta-code/general-fizzbuzz.md | 175 +++ .../generate-lower-case-ascii-alphabet.md | 99 ++ .../rosetta-code/generator-exponential.md | 117 ++ .../rosetta-code/gray-code.md | 122 ++ .../rosetta-code/greatest-common-divisor.md | 79 ++ .../greatest-subsequential-sum.md | 113 ++ .../rosetta-code/hailstone-sequence.md | 98 ++ .../rosetta-code/happy-numbers.md | 129 ++ .../rosetta-code/harshad-or-niven-series.md | 87 ++ .../rosetta-code/hash-from-two-arrays.md | 109 ++ .../rosetta-code/hash-join.md | 237 ++++ .../rosetta-code/heronian-triangles.md | 155 +++ .../hofstadter-figure-figure-sequences.md | 158 +++ .../rosetta-code/hofstadter-q-sequence.md | 92 ++ .../rosetta-code/i-before-e-except-after-c.md | 101 ++ .../rosetta-code/iban.md | 104 ++ .../rosetta-code/identity-matrix.md | 88 ++ .../rosetta-code/iterated-digits-squaring.md | 96 ++ .../rosetta-code/jaro-distance.md | 146 +++ .../rosetta-code/jortsort.md | 90 ++ .../rosetta-code/josephus-problem.md | 98 ++ .../rosetta-code/k-d-tree.md | 469 +++++++ .../rosetta-code/kaprekar-numbers.md | 110 ++ .../rosetta-code/knapsack-problem-0-1.md | 255 ++++ .../rosetta-code/knapsack-problem-bounded.md | 212 ++++ .../knapsack-problem-continuous.md | 169 +++ .../knapsack-problem-unbounded.md | 185 +++ .../rosetta-code/knights-tour.md | 225 ++++ .../largest-int-from-concatenated-ints.md | 85 ++ .../rosetta-code/last-friday-of-each-month.md | 99 ++ .../rosetta-code/last-letter-first-letter.md | 211 ++++ .../rosetta-code/leap-year.md | 79 ++ .../rosetta-code/least-common-multiple.md | 89 ++ .../rosetta-code/left-factorials.md | 115 ++ .../rosetta-code/letter-frequency.md | 209 ++++ .../rosetta-code/levenshtein-distance.md | 105 ++ .../linear-congruential-generator.md | 97 ++ .../rosetta-code/long-multiplication.md | 111 ++ .../longest-common-subsequence.md | 96 ++ .../longest-increasing-subsequence.md | 120 ++ .../rosetta-code/longest-string-challenge.md | 101 ++ .../rosetta-code/look-and-say-sequence.md | 92 ++ ...oop-over-multiple-arrays-simultaneously.md | 139 +++ .../rosetta-code/lu-decomposition.md | 318 +++++ .../rosetta-code/lucas-lehmer-test.md | 109 ++ .../rosetta-code/ludic-numbers.md | 129 ++ .../luhn-test-of-credit-card-numbers.md | 125 ++ .../rosetta-code/lychrel-numbers.md | 151 +++ .../rosetta-code/lzw-compression.md | 237 ++++ .../rosetta-code/s-expressions.md | 96 ++ .../sailors-coconuts-and-a-monkey-problem.md | 91 ++ .../rosetta-code/search-a-list-of-records.md | 103 ++ .../rosetta-code/sedols.md | 99 ++ .../rosetta-code/self-describing-numbers.md | 100 ++ .../rosetta-code/self-referential-sequence.md | 202 +++ .../rosetta-code/semiprime.md | 146 +++ .../rosetta-code/set-consolidation.md | 196 +++ .../rosetta-code/set-of-real-numbers.md | 239 ++++ .../rosetta-code/sha-1.md | 180 +++ .../rosetta-code/sha-256.md | 435 +++++++ .../sort-an-array-of-composite-structures.md | 116 ++ .../rosetta-code/sort-disjoint-sublist.md | 147 +++ .../rosetta-code/sort-stability.md | 168 +++ .../sort-using-a-custom-comparator.md | 121 ++ .../sorting-algorithms-bead-sort.md | 129 ++ .../sorting-algorithms-bogosort.md | 126 ++ .../sorting-algorithms-cocktail-sort.md | 118 ++ .../sorting-algorithms-comb-sort.md | 173 +++ .../sorting-algorithms-gnome-sort.md | 124 ++ .../sorting-algorithms-pancake-sort.md | 124 ++ .../sorting-algorithms-permutation-sort.md | 131 ++ .../sorting-algorithms-shell-sort.md | 106 ++ .../sorting-algorithms-stooge-sort.md | 125 ++ .../sorting-algorithms-strand-sort.md | 130 ++ .../rosetta-code/soundex.md | 161 +++ .../rosetta-code/spiral-matrix.md | 109 ++ ...ter-string-based-on-change-of-character.md | 145 +++ .../rosetta-code/state-name-puzzle.md | 162 +++ .../rosetta-code/stern-brocot-sequence.md | 114 ++ .../rosetta-code/straddling-checkerboard.md | 192 +++ .../rosetta-code/stream-merge.md | 140 +++ ...s-and-extended-characters-from-a-string.md | 80 ++ .../rosetta-code/subleq.md | 178 +++ .../rosetta-code/sudoku.md | 321 +++++ .../rosetta-code/sum-digits-of-an-integer.md | 89 ++ .../rosetta-code/sum-multiples-of-3-and-5.md | 77 ++ .../rosetta-code/sum-of-a-series.md | 82 ++ .../rosetta-code/sum-of-squares.md | 79 ++ .../rosetta-code/sum-to-100.md | 180 +++ .../sutherland-hodgman-polygon-clipping.md | 199 +++ .../rosetta-code/symmetric-difference.md | 125 ++ .../rosetta-code/taxicab-numbers.md | 133 ++ .../tokenize-a-string-with-escaping.md | 124 ++ .../rosetta-code/top-rank-per-group.md | 192 +++ .../rosetta-code/topological-sort.md | 185 +++ .../rosetta-code/towers-of-hanoi.md | 87 ++ .../rosetta-code/vector-cross-product.md | 75 ++ .../rosetta-code/vector-dot-product.md | 96 ++ .../rosetta-code/word-frequency.md | 136 ++ .../rosetta-code/word-wrap.md | 106 ++ .../rosetta-code/y-combinator.md | 85 ++ .../zeckendorf-number-representation.md | 205 +++ .../zhang-suen-thinning-algorithm.md | 320 +++++ .../rosetta-code/zig-zag-matrix.md | 117 ++ .../build-a-camper-leaderboard.md | 31 + .../build-a-light-bright-app.md | 37 + .../build-a-nightlife-coordination-app.md | 31 + .../build-a-pinterest-clone.md | 37 + .../take-home-projects/build-a-pong-game.md | 33 + .../take-home-projects/build-a-recipe-box.md | 37 + .../build-a-roguelike-dungeon-crawler-game.md | 41 + .../take-home-projects/build-a-simon-game.md | 41 + .../build-a-tic-tac-toe-game.md | 29 + .../take-home-projects/build-a-voting-app.md | 37 + .../build-a-wikipedia-viewer.md | 31 + ...build-an-image-search-abstraction-layer.md | 27 + .../build-the-game-of-life.md | 46 + .../chart-the-stock-market.md | 29 + .../manage-a-book-trading-club.md | 31 + .../map-data-across-the-globe.md | 31 + .../p2p-video-chat-application.md | 41 + ...-contiguity-with-a-force-directed-graph.md | 31 + .../show-the-local-weather.md | 33 + .../use-the-twitch-json-api.md | 35 + .../deep-learning-demystified.md | 34 + .../how-convolutional-neural-networks-work.md | 30 + .../how-deep-neural-networks-work.md | 30 + ...rks-rnn-and-long-short-term-memory-lstm.md | 30 + .../book-recommendation-engine-using-knn.md | 68 + .../cat-and-dog-image-classifier.md | 117 ++ ...near-regression-health-costs-calculator.md | 49 + .../neural-network-sms-text-classifier.md | 41 + .../rock-paper-scissors.md | 73 ++ .../tensorflow/conclusion.md | 34 + ...al-neural-networks-evaluating-the-model.md | 34 + ...ral-networks-picking-a-pretrained-model.md | 53 + ...neural-networks-the-convolutional-layer.md | 34 + .../convolutional-neural-networks.md | 34 + ...-learning-algorithms-building-the-model.md | 34 + ...core-learning-algorithms-classification.md | 34 + .../core-learning-algorithms-clustering.md | 42 + ...earning-algorithms-hidden-markov-models.md | 34 + ...earning-algorithms-the-training-process.md | 34 + ...ng-algorithms-training-and-testing-data.md | 34 + ...using-probabilities-to-make-predictions.md | 34 + ...e-learning-algorithms-working-with-data.md | 34 + .../tensorflow/core-learning-algorithms.md | 40 + ...creating-a-convolutional-neural-network.md | 56 + ...roduction-machine-learning-fundamentals.md | 34 + .../tensorflow/introduction-to-tensorflow.md | 42 + ...processing-with-rnns-building-the-model.md | 66 + ...ssing-with-rnns-create-a-play-generator.md | 44 + ...processing-with-rnns-making-predictions.md | 34 + ...al-language-processing-with-rnns-part-2.md | 34 + ...ing-with-rnns-recurring-neural-networks.md | 38 + ...ocessing-with-rnns-sentimental-analysis.md | 54 + ...processing-with-rnns-training-the-model.md | 58 + .../natural-language-processing-with-rnns.md | 34 + .../neural-networks-activation-functions.md | 34 + .../neural-networks-creating-a-model.md | 54 + .../tensorflow/neural-networks-optimizers.md | 34 + .../neural-networks-with-tensorflow.md | 34 + ...cement-learning-with-q-learning-example.md | 50 + ...rcement-learning-with-q-learning-part-2.md | 30 + .../reinforcement-learning-with-q-learning.md | 34 + .../build-a-celestial-bodies-database.md | 26 + .../build-a-number-guessing-game.md | 26 + .../build-a-periodic-table-database.md | 26 + .../build-a-salon-appointment-scheduler.md | 26 + .../build-a-world-cup-database.md | 26 + .../build-a-kitty-ipsum-translator.md | 20 + .../build-a-bike-rental-shop.md | 20 + .../build-a-boilerplate.md | 20 + .../build-five-programs.md | 20 + .../build-an-sql-reference-object.md | 20 + .../build-a-castle.md | 20 + .../build-a-mario-database.md | 20 + .../build-a-student-database-part-1.md | 20 + .../build-a-student-database-part-2.md | 20 + .../build-a-personal-portfolio-webpage.md | 281 +++++ .../build-a-product-landing-page.md | 470 +++++++ .../build-a-survey-form.md | 518 ++++++++ .../build-a-technical-documentation-page.md | 529 ++++++++ .../build-a-tribute-page.md | 325 +++++ .../613297a923965e0703b64796.md | 56 + .../61329b210dac0b08047fd6ab.md | 61 + .../61329d52e5010e08d9b9d66b.md | 68 + .../6133acc353338c0bba9cb553.md | 63 + .../6133d11ef548f51f876149e3.md | 68 + .../613e2546d0594208229ada50.md | 93 ++ .../613e275749ebd008e74bb62e.md | 66 + .../6140827cff96e906bd38fc2b.md | 93 ++ .../6140883f74224508174794c0.md | 89 ++ .../61408e4ae3e35d08feb260eb.md | 83 ++ .../61408f155e798909b6908712.md | 112 ++ .../614090d5a22b6f0a5a6b464c.md | 102 ++ .../6141fabd6f75610664e908fd.md | 125 ++ .../6141fed65b61320743da5894.md | 111 ++ .../614202874ca576084fca625f.md | 171 +++ .../614206033d366c090ca7dd42.md | 140 +++ .../61435e3c0679a306c20f1acc.md | 125 ++ .../6143610161323a081b249c19.md | 173 +++ .../6143639d5eddc7094161648c.md | 195 +++ .../6143908b6aafb00a659ca189.md | 161 +++ .../6143920c8eafb00b735746ce.md | 127 ++ .../6143931a113bb80c45546287.md | 139 +++ .../614394fb41985e0d2012a93e.md | 125 ++ .../6143956ed76ed60e012faa51.md | 197 +++ .../614396f7ae83f20ea6f9f4b3.md | 200 +++ .../6143cb26f7edff2dc28f7da5.md | 177 +++ .../6144e818fd5ea704fe56081d.md | 195 +++ .../6144f8dc6849e405dd8bb829.md | 231 ++++ .../6145e6eeaa66c605eb087fe9.md | 207 ++++ .../6145e8b5080a5f06bb0223d0.md | 287 +++++ .../6145eb5f08a38a0786c7a80c.md | 224 ++++ .../6145ed1f22caab087630aaad.md | 191 +++ .../6145ee65e2e1530938cb594d.md | 232 ++++ .../6145f02240ff8f09f7ec913c.md | 215 ++++ .../6145f14f019a4b0adb94b051.md | 250 ++++ .../6145f3a5cd9be60b9459cdd6.md | 222 ++++ .../6145f47393fbe70c4d885f9c.md | 229 ++++ .../6145f59029474c0d3dc1c8b8.md | 217 ++++ .../6145f685797bd30df9784e8c.md | 230 ++++ .../6145f829ac6a920ebf5797d7.md | 215 ++++ .../6145f8f8bcd4370f6509078e.md | 218 ++++ .../6145fb5018cb5b100cb2a88c.md | 229 ++++ .../6145fc3707fc3310c277f5c8.md | 256 ++++ .../614796cb8086be482d60e0ac.md | 260 ++++ .../6147a14ef5668b5881ef2297.md | 260 ++++ .../614878f7a412310647873015.md | 253 ++++ .../61487b77d4a37707073a64e5.md | 261 ++++ .../61487da611a65307e78d2c20.md | 275 +++++ .../61487f703571b60899055cf9.md | 287 +++++ .../614880dc16070e093e29bc56.md | 259 ++++ .../614883b6fa720e09fb167de9.md | 280 +++++ .../614884c1f5d6f30ab3d78cde.md | 364 ++++++ .../61488ecfd05e290b5712e6da.md | 286 +++++ .../6148d99cdc7acd0c519862cb.md | 291 +++++ .../6148da157cc0bd0d06df5c0a.md | 298 +++++ .../6148dc095264000dce348bf5.md | 323 +++++ .../6148dcaaf2e8750e6cb4501a.md | 316 +++++ .../6148dd31d210990f0fb140f8.md | 312 +++++ .../6148defa9c01520fb9d178a0.md | 315 +++++ .../6148dfab9b54c110577de165.md | 360 ++++++ .../6148e0bcc13efd10f7d7a6a9.md | 336 +++++ .../6148e161ecec9511941f8833.md | 356 ++++++ .../6148e28706b34912340fd042.md | 359 ++++++ .../6148e335c1edd512d00e4691.md | 342 +++++ .../6148e41c728f65138addf9cc.md | 360 ++++++ .../6148e5aeb102e3142de026a2.md | 685 +++++++++++ .../614ccc21ea91ef1736b9b578.md | 50 + .../5f33071498eb2472b87ddee4.md | 43 + .../5f3313e74582ad9d063e3a38.md | 61 + .../5f331e55dfab7a896e53c3a1.md | 47 + .../5f3326b143638ee1a09ff1e3.md | 54 + .../5f33294a6af5e9188dbdb8f3.md | 55 + .../5f332a88dc25a0fd25c7687a.md | 63 + .../5f332b23c2045fb843337579.md | 64 + .../5f344f9c805cd193c33d829c.md | 69 ++ .../5f344fad8bf01691e71a30eb.md | 55 + .../5f344fbc22624a2976425065.md | 68 + .../5f344fc1520b6719f2e35605.md | 60 + .../5f3477ae34c1239cafe128be.md | 71 ++ .../5f3477ae8466a9a3d2cc953c.md | 65 + .../5f3477ae9675db8bb7655b30.md | 92 ++ .../5f3477aefa51bfc29327200b.md | 73 ++ .../5f3477cb2e27333b1ab2b955.md | 86 ++ .../5f3477cb303c5cb61b43aa9b.md | 68 + .../5f3477cbcb6ba47918c1da92.md | 70 ++ .../5f34a1fd611d003edeafd681.md | 62 + .../5f356ed60785e1f3e9850b6e.md | 72 ++ .../5f356ed60a5decd94ab66986.md | 77 ++ .../5f356ed6199b0cdef1d2be8f.md | 83 ++ .../5f356ed63c7807a4f1e6d054.md | 74 ++ .../5f356ed63e0fa262326eef05.md | 72 ++ .../5f356ed656a336993abd9f7c.md | 81 ++ .../5f356ed69db0a491745e2bb6.md | 73 ++ .../5f356ed6cf6eab5f15f5cfe6.md | 75 ++ .../5f35e5c4321f818cdc4bed30.md | 84 ++ .../5f35e5c44359872a137bd98f.md | 90 ++ .../5f3c866d0fc037f7311b4ac8.md | 105 ++ .../5f3c866d28d7ad0de6470505.md | 98 ++ .../5f3c866d5414453fc2d7b480.md | 126 ++ .../5f3c866daec9a49519871816.md | 86 ++ .../5f3c866dbf362f99b9a0c6d0.md | 115 ++ .../5f3c866dd0d0275f01d4d847.md | 109 ++ .../5f3c866de7a5b784048f94b1.md | 106 ++ .../5f3cade94c6576e7f7b7953f.md | 106 ++ .../5f3cade9993019e26313fa8e.md | 117 ++ .../5f3cade99dda4e6071a85dfd.md | 112 ++ .../5f3cade9fa77275d9f4efe62.md | 101 ++ .../5f3ef6e01f288a026d709587.md | 156 +++ .../5f3ef6e03d719d5ac4738993.md | 120 ++ .../5f3ef6e04559b939080db057.md | 145 +++ .../5f3ef6e050279c7a4a7101d3.md | 142 +++ .../5f3ef6e05473f91f948724ab.md | 119 ++ .../5f3ef6e056bdde6ae6892ba2.md | 136 ++ .../5f3ef6e06d34faac0447fc44.md | 133 ++ .../5f3ef6e07276f782bb46b93d.md | 147 +++ .../5f3ef6e0819d4f23ca7285e6.md | 109 ++ .../5f3ef6e087d56ed3ffdc36be.md | 132 ++ .../5f3ef6e0a81099d9a697b550.md | 157 +++ .../5f3ef6e0b431cc215bb16f55.md | 139 +++ .../5f3ef6e0e0c3feaebcf647ad.md | 108 ++ .../5f3ef6e0e9629bad967cd71e.md | 119 ++ .../5f3ef6e0eaa7da26e3d34d78.md | 133 ++ .../5f3ef6e0f8c230bdd2349716.md | 145 +++ .../5f3f26fa39591db45e5cd7a0.md | 154 +++ .../5f459225127805351a6ad057.md | 146 +++ .../5f459a7ceb8b5c446656d88b.md | 150 +++ .../5f459cf202c2a3472fae6a9f.md | 151 +++ .../5f459fd48bdc98491ca6d1a3.md | 148 +++ .../5f45a05977e2fa49d9119437.md | 148 +++ .../5f45a276c093334f0f6e9df4.md | 174 +++ .../5f45a5a7c49a8251f0bdb527.md | 160 +++ .../5f45a66d4a2b0453301e5a26.md | 176 +++ .../5f45b0731d39e15d54df4dfc.md | 173 +++ .../5f45b25e7ec2405f166b9de1.md | 180 +++ .../5f45b3c93c027860d9298dbd.md | 184 +++ .../5f45b45d099f3e621fbbb256.md | 187 +++ .../5f45b4c81cea7763550e40df.md | 180 +++ .../5f45b715301bbf667badc04a.md | 182 +++ .../5f46e270702a8456a664f0df.md | 181 +++ .../5f46e36e745ead58487aabf2.md | 193 +++ .../5f46e7a4750dd05b5a673920.md | 189 +++ .../5f46e8284aae155c83015dee.md | 192 +++ .../5f46ede1ff8fec5ba656b44c.md | 153 +++ .../5f46fc57528aa1c4b5ea7c2e.md | 165 +++ .../5f4701b942c824109626c3d8.md | 155 +++ .../5f475bb508746c16c9431d42.md | 221 ++++ .../5f475e1c7f71a61d913836c6.md | 197 +++ .../5f47633757ae3469f2d33d2e.md | 104 ++ .../5f47fe7e31980053a8d4403b.md | 359 ++++++ .../5f716ad029ee4053c7027a7a.md | 117 ++ .../5f716bee5838c354c728a7c5.md | 151 +++ .../5f7691dafd882520797cd2f0.md | 98 ++ .../5f7692f7c5b3ce22a57788b6.md | 124 ++ .../5f769541be494f25449b292f.md | 103 ++ .../5f76967fad478126d6552b0d.md | 100 ++ .../5f769702e6e33127d14aa120.md | 104 ++ .../5f7b87422a560036fd03ccff.md | 118 ++ .../5f7b88d37b1f98386f04edc0.md | 102 ++ .../6140c7e645d8e905819f1dd4.md | 181 +++ .../6140c9d35015ae0ba0c250e8.md | 79 ++ .../6140cbeec34e970dfe75e710.md | 74 ++ .../6140cd32d018ed0f600eefce.md | 72 ++ .../6140cdebd39d6a101e747529.md | 85 ++ .../6140cfc08ca9c5128c3e6478.md | 83 ++ .../6140d0069049f5139d78da40.md | 77 ++ .../6140d10d50636e14695013b2.md | 85 ++ .../6140d1a351e88f159ed54fca.md | 126 ++ .../6140d263016325162fd076fe.md | 111 ++ .../6140d2b687a2cd17bac5730c.md | 103 ++ .../6140d36b8b747718b50d4b7a.md | 100 ++ .../6140d3dc359b371b1a21d783.md | 117 ++ .../6140d4bc9db3c81c51a09ab7.md | 199 +++ .../6140d94b5fab7f1d73c9bedb.md | 137 +++ .../6140dc5e13d0c81e7496f182.md | 139 +++ .../6140dd77e0bc5a1f70bd7466.md | 131 ++ .../6140de31b1f5b420410728ff.md | 146 +++ .../6140df547f09402144e40b92.md | 142 +++ .../6140e0d875ec16262f26432b.md | 144 +++ .../6140f4b5c1555a2960de1e5f.md | 191 +++ .../614100d7d335bb2a5ff74f1f.md | 149 +++ .../61410126fa3a6d2b3cda502e.md | 151 +++ .../6141019eadec6d2c6c6f007b.md | 148 +++ .../6141026ec9882f2d39dcf2b8.md | 291 +++++ .../6169ab1aaeb4cd1174def700.md | 154 +++ .../6169b1357fcb701bb5efc619.md | 164 +++ .../6169b284950e171d8d0bb16a.md | 304 +++++ .../617ace7d831f9c16a569b38a.md | 69 ++ .../61695197ac34f0407e339882.md | 66 + .../61695ab9f6ffe951c16d03dd.md | 103 ++ .../61695c4aad56f95497c19583.md | 56 + .../61695d1fbc003856628bf561.md | 52 + .../616965351e74d4689eb6de30.md | 52 + .../616968c2c94c8071b349c146.md | 72 ++ .../61696ef7ac756c829f9e4048.md | 65 + .../616971b3cd990186b66c99a1.md | 59 + .../616d3a67ccf800ad94ec89ae.md | 71 ++ .../616d47bc9eedc4bc7f621bec.md | 66 + .../616d4a84b756d9c4b8255093.md | 68 + .../616d50b93ba424d6282c99cf.md | 62 + .../616d525007b8c5d8b3308b1c.md | 60 + .../616d55bd160a95e22453a081.md | 91 ++ .../616d595270d902f0e7086e18.md | 65 + .../61764c602bee6974e7790f35.md | 76 ++ .../61764f23ea21477b76f3b80f.md | 61 + .../61764f7e5240eb7ccc7f6a0a.md | 68 + .../61764fdda535587e1fefb3aa.md | 86 ++ .../6176519636a76b810ab1219a.md | 86 ++ .../617b65579ce424bf5f02ca73.md | 84 ++ .../617b8b38f32bf2080a140675.md | 90 ++ .../617b8e0d93a8d10d9a90e720.md | 98 ++ .../617b92b9de349513466f6156.md | 78 ++ .../617b954d9f4f6217a749380e.md | 84 ++ .../617b97abd9f3f61d1590b815.md | 79 ++ .../617b9ad735109e217284e095.md | 79 ++ .../617bb5624a75e86463b7e638.md | 79 ++ .../617bb77353188166af43f3ac.md | 77 ++ .../617bb9fdef27bc6aa0470ac2.md | 77 ++ .../617bbb6b97a83f6d1f7d6e38.md | 79 ++ .../617bc3386dc7d07d6469bf20.md | 79 ++ .../617bc4824e233180553a8069.md | 77 ++ .../617bd6ec666b1da2587e4e37.md | 95 ++ .../618a00ed1ca871a2b3aca0cb.md | 91 ++ .../618a0927005553b74bfa05ae.md | 87 ++ .../618a0b2befb143baefab632b.md | 87 ++ .../618a1275e873dcc803c2d1aa.md | 84 ++ .../618a132676346ac9f7fd59dd.md | 82 ++ .../618a16873520a8d088ffdf44.md | 79 ++ .../618a16d21bd3dad1bb3aa8ef.md | 87 ++ .../619b72a0db211f1c29afb906.md | 89 ++ .../619b7396e57b771f903be90d.md | 77 ++ .../619b7424f43ec9215e538afe.md | 99 ++ .../619b74fa777a2b2473c94f82.md | 107 ++ .../619b761916dac02643940022.md | 81 ++ .../619b7c3c83de403126b69c1e.md | 85 ++ .../619b7fd56aa2253778bcf5f7.md | 87 ++ .../61a489b8579e87364b2d2cdb.md | 83 ++ .../61a493ead935c148d2b76312.md | 87 ++ .../61a498399534644f59cff05e.md | 79 ++ .../61a49d15bdbb5e57cc6fd280.md | 85 ++ .../61a4a53c4459446dc134a1c6.md | 79 ++ .../61a4a6e908bc34725b4c25ac.md | 77 ++ .../61a4a7877da33a73a1c1723e.md | 79 ++ .../61a4ac092eb21e7dbfe61c33.md | 79 ++ .../61a4acbb5587197f68544d00.md | 79 ++ .../61a4ada3aabeec822b2975d9.md | 79 ++ .../61a4ae5f29eb5584187201c3.md | 79 ++ .../61a5be9833e7dc178de2af10.md | 79 ++ .../61a5bfe091060f1d6a629dd0.md | 81 ++ .../61a5c906ab73313316e342f0.md | 91 ++ .../61a5ca57f50ded36d33eef96.md | 79 ++ .../61a5d594b887335228ee6533.md | 77 ++ .../61a5d6701ee08953ca375243.md | 77 ++ .../61a5d79c858bef560e26c685.md | 77 ++ .../61a5d7ef1cfcf45764df07a2.md | 87 ++ .../61adc60b69cd4b87739d2174.md | 92 ++ .../61adc91467b5d59328b9f781.md | 98 ++ .../61add79e739a5faee9d96080.md | 97 ++ .../61add929e41980b1edbdba7e.md | 100 ++ .../61addaf7e83988b59a7d18ff.md | 123 ++ .../61ade49b2dad60c076cbd32d.md | 97 ++ .../61b092eb9e7fc020b43b1bb2.md | 85 ++ .../61b093179e7fc020b43b1bb3.md | 88 ++ .../61b093219e7fc020b43b1bb4.md | 89 ++ .../61b093329e7fc020b43b1bb5.md | 92 ++ .../61b093429e7fc020b43b1bb6.md | 103 ++ .../61b0934c9e7fc020b43b1bb7.md | 99 ++ .../61b0936d9e7fc020b43b1bb8.md | 104 ++ .../61b095989e7fc020b43b1bb9.md | 79 ++ .../61b095a79e7fc020b43b1bba.md | 79 ++ .../61b095c79e7fc020b43b1bbb.md | 77 ++ .../61b09f739aa6572d2064f9b8.md | 97 ++ .../61b0a1b2af494934b7ec1a72.md | 123 ++ .../61b0a44a6b865738ba49b9fb.md | 109 ++ .../61b306305810f1c9040ce5a2.md | 104 ++ .../61b30995968123ceb6b76167.md | 108 ++ .../61b30a286c228bd0c493c09a.md | 111 ++ .../61b31287fb580ae75a486047.md | 104 ++ .../61b315e76a63b3ecbbb11b75.md | 104 ++ .../61b3183655ec10efd8c0bb07.md | 110 ++ .../61b31a451057fff645ec09be.md | 102 ++ .../61b31cd7b0c76bfc076b4719.md | 184 +++ .../61537485c4f2a624f18d7794.md | 118 ++ .../61537a8054753e2f1f2a1574.md | 58 + .../61537bb9b1a29430ac15ad38.md | 62 + .../61537c5f81f0cf325b4a854c.md | 62 + .../61537c9eecea6a335db6da79.md | 65 + .../61537d86bdc3dd343688fceb.md | 111 ++ .../615380dff67172357fcf0425.md | 62 + .../6153893900438b4643590367.md | 87 ++ .../6153897c27f6334716ee5abe.md | 114 ++ .../615389bd81347947ea7ba896.md | 91 ++ .../6153908a366afb4d57185c8d.md | 94 ++ .../615392916d83fa4f02f7e2cf.md | 88 ++ .../6153938dce8b294ff8f5a4e9.md | 87 ++ .../6153947986535e5117e60615.md | 88 ++ .../61539e07e7430b528fbffe21.md | 104 ++ .../61539f32a206bd53ec116465.md | 92 ++ .../6153a04847abee57a3a406ac.md | 95 ++ .../6153a3485f0b20591d26d2a1.md | 92 ++ .../6153a3952facd25a83fe8083.md | 112 ++ .../6153a3ebb4f7f05b8401b716.md | 181 +++ .../615f171d05def3218035dc85.md | 80 ++ .../61437d575fb98f57fa8f7f36.md | 135 ++ .../614385513d91ae5c251c2052.md | 96 ++ .../6143862a5e54455d262c212e.md | 75 ++ .../6143869bb45bd85e3b1926aa.md | 109 ++ .../614387cbefeeba5f3654a291.md | 152 +++ .../614389f601bb4f611db98563.md | 134 ++ .../61438b5b66d76a6264430f2a.md | 139 +++ .../61438ec09438696391076d6a.md | 129 ++ .../61439dc084fa5f659cf75d7c.md | 109 ++ .../61439dfc811e12666b04be6f.md | 113 ++ .../61439e33e4fb7967609e0c83.md | 148 +++ .../6143a1a228f7d068ab16a130.md | 130 ++ .../6143a73279ce6369de4b9bcc.md | 128 ++ .../6143a778bffc206ac6b1dbe3.md | 135 ++ .../6143a83fcc32c26bcfae3efa.md | 166 +++ .../6143b97c06c3306d23d5da47.md | 174 +++ .../6143b9e1f5035c6e5f2a8231.md | 228 ++++ .../6143bb50e8e48c6f5ef9d8d5.md | 195 +++ .../6143c2a363865c715f1a3f72.md | 206 ++++ .../6143cd08fe927072ca3a371d.md | 213 ++++ .../6143cdf48b634a747de42104.md | 220 ++++ .../6143d003ad9e9d76766293ec.md | 226 ++++ .../6143d2842b497779bad947de.md | 217 ++++ .../6144d66a5358db0c80628757.md | 226 ++++ .../6144d7dbdd3e580da730ff45.md | 234 ++++ .../6144de308591ec10e27d5383.md | 228 ++++ .../6144e1ba93e435127a7f516d.md | 232 ++++ .../6144ee46a9d6e614c598cc05.md | 241 ++++ .../6144ee790af79815ad15a832.md | 242 ++++ .../6144f1410990ea17187a722b.md | 238 ++++ .../6144f3818bfbc51844152e36.md | 239 ++++ .../6144f42204c8c8195f1f3345.md | 237 ++++ .../6144f47b7c631e1a6f304dd5.md | 250 ++++ .../6148b07081759c2c691166a9.md | 250 ++++ .../6148b0d764e4192e5712ed92.md | 248 ++++ .../6148b185ef37522f688316b0.md | 253 ++++ .../6148b30464daf630848c21d4.md | 250 ++++ .../6148b4b150434734143db6f2.md | 261 ++++ .../6148b5623efa8f369f2c3643.md | 255 ++++ .../6148b59ef318e03875f35c4a.md | 271 ++++ .../6148bd62bbb8c83a5f1fc1b3.md | 280 +++++ .../6148be3d605d6b3ca9425d11.md | 286 +++++ .../6148be82ca63c63daa8cca49.md | 287 +++++ .../6148bf49fcc7913f05dbf9b7.md | 287 +++++ .../6148bfc43df3bc40fe0e6405.md | 289 +++++ .../6148c004ffc8434252940dc3.md | 299 +++++ .../6148c224ecb157439bc5247c.md | 290 +++++ .../6148c434bd731d45617a76c6.md | 295 +++++ .../6148c5036ddad94692a66230.md | 294 +++++ .../6148c58bace368497fb11bcf.md | 295 +++++ .../6148c6aa9981d74af202125e.md | 300 +++++ .../6148c721e74ecd4c619ae51c.md | 298 +++++ .../6148ceaf5d897d4d8b3554b3.md | 299 +++++ .../6148cf094b3f2b4e8a032c63.md | 314 +++++ .../6148d0b863d10d50544ace0e.md | 309 +++++ .../6148d1bdf39c5b5186f5974b.md | 313 +++++ .../6148d1f9eb63c252e1f8acc4.md | 311 +++++ .../6148d2444d01ab541e64a1e4.md | 330 +++++ .../6148d33e31fccf558696c745.md | 317 +++++ .../6148d3fff5186b57123d97e2.md | 341 +++++ .../6148d4d57b965358c9fa38bf.md | 335 +++++ .../6148d7720f0db36775db868a.md | 335 +++++ .../6148d94fdf6a5d6899f8ff15.md | 331 +++++ .../6148d9825b50a3698aeee644.md | 340 +++++ .../6148e162e255676ae0da6a76.md | 336 +++++ .../6148e19c3e26436be0155690.md | 345 ++++++ .../6148e246146b646cf4255f0c.md | 349 ++++++ .../6148e2dcdd60306dd77d41cc.md | 355 ++++++ .../6148e4d6861a486f60681f36.md | 357 ++++++ .../6148e5a204d99e70343a63e4.md | 353 ++++++ .../6148e62a6f768f71c4f04828.md | 354 ++++++ .../6148e789329dc9736ce59b85.md | 361 ++++++ .../6148f34ebedc2274bceeb99c.md | 375 ++++++ .../6148f600cde42b7670c2611f.md | 379 ++++++ .../6148f693e0728f77c87f3020.md | 404 ++++++ .../6148f6f7d8914c78e93136ca.md | 780 ++++++++++++ .../614e0e503b110f76d3ac2ff6.md | 256 ++++ .../614e0e588f0e8a772a8a81a6.md | 69 ++ .../6165d3b702a5d92ad970b30c.md | 104 ++ .../6169cd8a558aa8434e0ad7f6.md | 77 ++ .../619665c9abd72906f3ad30f9.md | 134 ++ .../61967e74a8e3690ab6292daa.md | 56 + .../61968df2acd5550bf1616c34.md | 53 + .../61968e9243a4090cc805531c.md | 51 + .../61968f8877c6720d6d61aaf5.md | 64 + .../619691693bc14b0e528f5a20.md | 66 + .../6196928658b6010f28c39484.md | 58 + .../619692ff79f5770fc6d8c0b4.md | 73 ++ .../6196990f966e8f10a40094f6.md | 75 ++ .../619699c10a0f6e11591d73c4.md | 74 ++ .../61969aa6acef5b12200f672e.md | 83 ++ .../61969c487ced6f12db8fef94.md | 89 ++ .../61969d66cfcdba137d021558.md | 76 ++ .../61969e7451455614217e901b.md | 91 ++ .../6196adc17f77a714d51485f2.md | 90 ++ .../6196aead7ac7bf1584b17a7f.md | 86 ++ .../6196ce0415498d2463989e84.md | 92 ++ .../6196cee94c6da1253809dff9.md | 100 ++ .../6196d00a5d7292262bc02f4c.md | 87 ++ .../6196d0cda039d026f7f78d1e.md | 100 ++ .../6196d1ac33c68d27dcda5796.md | 119 ++ .../6196d213d99f16287bff22ae.md | 104 ++ .../6196d2c0f22ca0293107c048.md | 112 ++ .../6196d32d1340d829f0f6f57d.md | 105 ++ .../6196d41d40bf9b2aaea5d520.md | 107 ++ .../6197cff995d03905b0cca8ad.md | 118 ++ .../6197f40a16afea068c7e60c8.md | 125 ++ .../6197f667297bb30a552ce017.md | 65 + .../61993b72e874e709b8dfd666.md | 128 ++ .../61993cf26a8e0f0a553db223.md | 122 ++ .../61993dbb35adf30b10d49e38.md | 139 +++ .../61993e9adc9e9a0bb4d28fff.md | 133 ++ .../6199409834ccaf0d10736596.md | 139 +++ .../6199429802b7c10dc79ff871.md | 154 +++ .../619943285a41720e6370d985.md | 156 +++ .../619943876b706d0f35c01dbc.md | 146 +++ .../6199442866286d0ff421a4fc.md | 148 +++ .../619bcf239fc15905ecd66fce.md | 145 +++ .../619be73b3c806006ccc00bb0.md | 158 +++ .../619be7af7b0bf60770f5d2a4.md | 155 +++ .../619be80062551a080e32c821.md | 160 +++ .../619be8ce4ea49008c5bfbc30.md | 152 +++ .../619be946958c6009844f1dee.md | 166 +++ .../619c155df0063a0a3fec0e32.md | 193 +++ .../619c16debd0c270b01c5ce38.md | 165 +++ .../619cfdf2e63ddf05feab86ad.md | 169 +++ .../619d019488f98c06acbbb71a.md | 171 +++ .../619d022dc8400c0763829a17.md | 177 +++ .../619d02c7bc95bf0827a5d296.md | 181 +++ .../619d033915012509031f309a.md | 184 +++ .../619d03dadadb6509a16f4f5f.md | 210 ++++ .../619d0503e03a790a4179d463.md | 206 ++++ .../619d05c54dabca0b10058235.md | 197 +++ .../619d0882f54bf40bdc4671ed.md | 197 +++ .../619d090cd8d6db0c93dc5087.md | 222 ++++ .../619d0b51ca42ed0d74582186.md | 207 ++++ .../619d0bc9cb05360e1bf549c3.md | 200 +++ .../619d0c1594c38c0ebae75878.md | 215 ++++ .../619d0d18ca99870f884a7bff.md | 225 ++++ .../619d0daf214542102739b0da.md | 227 ++++ .../619d0e56f9ca9710fcb974e3.md | 226 ++++ .../619d0eec0ac40611b41e2ccc.md | 247 ++++ .../619d0fc9825c271253df28d4.md | 238 ++++ .../619d102d786c3d13124c37c6.md | 231 ++++ .../619d107edf7ddf13cc77106a.md | 246 ++++ .../619d10cc98145f14820399c5.md | 271 ++++ .../619d115e2adcd71538e82ebb.md | 256 ++++ .../619d11e6d5ef9515d2a16033.md | 262 ++++ .../619d129a417d0716a94de913.md | 267 ++++ .../619d1340361095175f4b5115.md | 267 ++++ .../619d15797b580c1828b05426.md | 263 ++++ .../619d15d955d9d418c4487bbc.md | 264 ++++ .../619d1629a8adc61960ca8b40.md | 278 +++++ .../619d1c5fc9f8941a400955da.md | 272 ++++ .../619d1dab9ff3421ae1976991.md | 273 ++++ .../619d1deb8b04811b8839ffe4.md | 281 +++++ .../619d1e7a8e81a61c5a819dc4.md | 272 ++++ .../619d1ed33c9a071cf657a0d6.md | 306 +++++ .../619d1fb5d244c31db8a7fdb7.md | 295 +++++ .../619d204bd73ae51e743b8e94.md | 288 +++++ .../619d20b12996101f430920fb.md | 304 +++++ .../619d21fe6a3f9b2016be9d9d.md | 304 +++++ .../619d229b0e542520cd91c685.md | 300 +++++ .../619d23089e787e216a7043d6.md | 295 +++++ .../619d237a107c10221ed743fa.md | 328 +++++ .../619d26b12e651022d80cd017.md | 317 +++++ .../619d2712853306238f41828e.md | 332 +++++ .../619d2b7a84e78b246f2d17a2.md | 340 +++++ .../619d2bd9c1d43c2526e96f1f.md | 325 +++++ .../619d2d4e80400325ff89664a.md | 320 +++++ .../619d2ebc81ba81271460850d.md | 321 +++++ .../619d2f0e9440bc27caee1cec.md | 327 +++++ .../619d2fd3ff4f772882e3d998.md | 323 +++++ .../619d30350883802921bfcccc.md | 333 +++++ .../619d324f5915c929f36ae91d.md | 345 ++++++ .../619d32c7fa21f32aaa91d499.md | 338 +++++ .../619d333b738e3c2b5d58b095.md | 338 +++++ .../619d337765b9f02c10e93722.md | 344 ++++++ .../619d33c51140292cc5a21742.md | 357 ++++++ .../619d3482f505452d861d0f62.md | 347 ++++++ .../619d3561a951bf2e41a24f10.md | 346 ++++++ .../619d36103839c82efa95dd34.md | 357 ++++++ .../619d3711d04d623000013e9e.md | 670 ++++++++++ .../61a8fe15a6a31306e60d1e89.md | 55 + .../5d822fd413a79914d39e98c9.md | 53 + .../5d822fd413a79914d39e98ca.md | 54 + .../5d822fd413a79914d39e98cb.md | 69 ++ .../5d822fd413a79914d39e98cc.md | 108 ++ .../5d822fd413a79914d39e98cd.md | 56 + .../5d822fd413a79914d39e98ce.md | 61 + .../5d822fd413a79914d39e98cf.md | 69 ++ .../5d822fd413a79914d39e98d0.md | 65 + .../5d822fd413a79914d39e98d1.md | 68 + .../5d822fd413a79914d39e98d2.md | 83 ++ .../5d822fd413a79914d39e98d3.md | 105 ++ .../5d822fd413a79914d39e98d4.md | 138 +++ .../5d822fd413a79914d39e98d5.md | 112 ++ .../5d822fd413a79914d39e98d6.md | 103 ++ .../5d822fd413a79914d39e98d7.md | 100 ++ .../5d822fd413a79914d39e98d8.md | 124 ++ .../5d822fd413a79914d39e98d9.md | 99 ++ .../5d822fd413a79914d39e98da.md | 133 ++ .../5d822fd413a79914d39e98db.md | 133 ++ .../5d822fd413a79914d39e98dc.md | 127 ++ .../5d822fd413a79914d39e98dd.md | 142 +++ .../5d822fd413a79914d39e98de.md | 140 +++ .../5d822fd413a79914d39e98df.md | 124 ++ .../5d822fd413a79914d39e98e0.md | 142 +++ .../5d822fd413a79914d39e98e1.md | 155 +++ .../5d822fd413a79914d39e98e2.md | 135 ++ .../5d822fd413a79914d39e98e3.md | 144 +++ .../5d822fd413a79914d39e98e4.md | 147 +++ .../5d822fd413a79914d39e98e5.md | 161 +++ .../5d822fd413a79914d39e98e6.md | 192 +++ .../5d822fd413a79914d39e98e7.md | 253 ++++ .../5d822fd413a79914d39e98e8.md | 190 +++ .../5d822fd413a79914d39e98e9.md | 223 ++++ .../5d822fd413a79914d39e98ea.md | 181 +++ .../5d822fd413a79914d39e98eb.md | 203 +++ .../5d822fd413a79914d39e98ec.md | 203 +++ .../5d822fd413a79914d39e98ed.md | 202 +++ .../5d822fd413a79914d39e98ee.md | 196 +++ .../5d822fd413a79914d39e98ef.md | 197 +++ .../5d822fd413a79914d39e98f0.md | 218 ++++ .../5d822fd413a79914d39e98f1.md | 223 ++++ .../5d822fd413a79914d39e98f2.md | 237 ++++ .../5d822fd413a79914d39e98f3.md | 222 ++++ .../5d822fd413a79914d39e98f4.md | 227 ++++ .../5d822fd413a79914d39e98f5.md | 198 +++ .../5d822fd413a79914d39e98f6.md | 207 ++++ .../5d822fd413a79914d39e98f7.md | 203 +++ .../5d822fd413a79914d39e98f8.md | 210 ++++ .../5d822fd413a79914d39e98f9.md | 207 ++++ .../5d822fd413a79914d39e98fa.md | 211 ++++ .../5d822fd413a79914d39e98fb.md | 240 ++++ .../5d822fd413a79914d39e98fc.md | 211 ++++ .../5d822fd413a79914d39e98fd.md | 209 ++++ .../5d822fd413a79914d39e98fe.md | 260 ++++ .../5d822fd413a79914d39e98ff.md | 238 ++++ .../5d822fd413a79914d39e9900.md | 224 ++++ .../5d822fd413a79914d39e9901.md | 224 ++++ .../5d822fd413a79914d39e9902.md | 227 ++++ .../5d822fd413a79914d39e9903.md | 223 ++++ .../5d822fd413a79914d39e9904.md | 245 ++++ .../5d822fd413a79914d39e9905.md | 223 ++++ .../5d822fd413a79914d39e9906.md | 249 ++++ .../5d822fd413a79914d39e9907.md | 258 ++++ .../5d822fd413a79914d39e9908.md | 258 ++++ .../5d822fd413a79914d39e9909.md | 245 ++++ .../5d822fd413a79914d39e990a.md | 277 +++++ .../5d822fd413a79914d39e990b.md | 254 ++++ .../5d822fd413a79914d39e990c.md | 253 ++++ .../5d822fd413a79914d39e990d.md | 255 ++++ .../5d822fd413a79914d39e990e.md | 265 ++++ .../5d822fd413a79914d39e990f.md | 286 +++++ .../5d822fd413a79914d39e9910.md | 266 ++++ .../5d822fd413a79914d39e9911.md | 291 +++++ .../5d822fd413a79914d39e9912.md | 287 +++++ .../5d822fd413a79914d39e9913.md | 280 +++++ .../5d822fd413a79914d39e9914.md | 284 +++++ .../5d822fd413a79914d39e9915.md | 391 ++++++ .../5d822fd413a79914d39e9916.md | 297 +++++ .../5d822fd413a79914d39e9917.md | 307 +++++ .../5d822fd413a79914d39e9918.md | 298 +++++ .../5d822fd413a79914d39e9919.md | 301 +++++ .../5d822fd413a79914d39e991a.md | 312 +++++ .../5d822fd413a79914d39e991b.md | 314 +++++ .../5d822fd413a79914d39e991c.md | 317 +++++ .../5d822fd413a79914d39e991d.md | 315 +++++ .../5d822fd413a79914d39e991e.md | 326 +++++ .../5d822fd413a79914d39e991f.md | 324 +++++ .../5d822fd413a79914d39e9920.md | 330 +++++ .../5d822fd413a79914d39e9921.md | 348 ++++++ .../5d822fd413a79914d39e9922.md | 347 ++++++ .../5d822fd413a79914d39e9923.md | 348 ++++++ .../5d822fd413a79914d39e9924.md | 340 +++++ .../5d822fd413a79914d39e9925.md | 346 ++++++ .../5d822fd413a79914d39e9926.md | 355 ++++++ .../5d822fd413a79914d39e9927.md | 350 ++++++ .../5d822fd413a79914d39e9928.md | 349 ++++++ .../5d822fd413a79914d39e9929.md | 362 ++++++ .../5d822fd413a79914d39e992a.md | 359 ++++++ .../5d822fd413a79914d39e992b.md | 361 ++++++ .../5d822fd413a79914d39e992c.md | 364 ++++++ .../5d822fd413a79914d39e992d.md | 377 ++++++ .../5d822fd413a79914d39e992e.md | 374 ++++++ .../5d822fd413a79914d39e992f.md | 377 ++++++ .../5d822fd413a79914d39e9930.md | 381 ++++++ .../5d822fd413a79914d39e9931.md | 404 ++++++ .../5d822fd413a79914d39e9932.md | 396 ++++++ .../5d822fd413a79914d39e9933.md | 402 ++++++ .../5d822fd413a79914d39e9934.md | 409 ++++++ .../5d822fd413a79914d39e9935.md | 409 ++++++ .../5d822fd413a79914d39e9936.md | 402 ++++++ .../5d822fd413a79914d39e9937.md | 403 ++++++ .../5d822fd413a79914d39e9938.md | 421 +++++++ .../5d822fd413a79914d39e9939.md | 410 ++++++ .../5d822fd413a79914d39e993a.md | 422 +++++++ .../5d822fd413a79914d39e993b.md | 424 +++++++ .../5d822fd413a79914d39e993c.md | 437 +++++++ .../5d822fd413a79914d39e993d.md | 450 +++++++ .../5d822fd413a79914d39e993e.md | 862 +++++++++++++ .../5dc174fcf86c76b9248c6eb2.md | 63 + .../5dc1798ff86c76b9248c6eb3.md | 84 ++ .../5dc17d3bf86c76b9248c6eb4.md | 60 + .../5dc17dc8f86c76b9248c6eb5.md | 70 ++ .../5dc2385ff86c76b9248c6eb7.md | 71 ++ .../5dc23991f86c76b9248c6eb8.md | 103 ++ .../5dc23f9bf86c76b9248c6eba.md | 61 + .../5dc24073f86c76b9248c6ebb.md | 61 + .../5dc24165f86c76b9248c6ebc.md | 59 + .../5dc24614f86c76b9248c6ebd.md | 79 ++ .../5ddbd81294d8ddc1510a8e56.md | 57 + .../5dfa22d1b521be39a3de7be0.md | 71 ++ .../5dfa2407b521be39a3de7be1.md | 55 + .../5dfa30b9eacea3f48c6300ad.md | 88 ++ .../5dfa3589eacea3f48c6300ae.md | 75 ++ .../5dfa371beacea3f48c6300af.md | 84 ++ .../5dfa37b9eacea3f48c6300b0.md | 58 + .../5dfb5ecbeacea3f48c6300b1.md | 79 ++ .../5dfb6250eacea3f48c6300b2.md | 94 ++ .../5dfb655eeacea3f48c6300b3.md | 76 ++ .../5dfb6a35eacea3f48c6300b4.md | 98 ++ .../5ef9b03c81a63668521804d0.md | 85 ++ .../5ef9b03c81a63668521804d1.md | 81 ++ .../5ef9b03c81a63668521804d2.md | 94 ++ .../5ef9b03c81a63668521804d3.md | 72 ++ .../5ef9b03c81a63668521804d4.md | 96 ++ .../5ef9b03c81a63668521804d5.md | 105 ++ .../5ef9b03c81a63668521804d6.md | 88 ++ .../5ef9b03c81a63668521804d7.md | 116 ++ .../5ef9b03c81a63668521804d8.md | 109 ++ .../5ef9b03c81a63668521804d9.md | 104 ++ .../5ef9b03c81a63668521804da.md | 93 ++ .../5ef9b03c81a63668521804db.md | 91 ++ .../5ef9b03c81a63668521804dc.md | 137 +++ .../5ef9b03c81a63668521804dd.md | 104 ++ .../5ef9b03c81a63668521804de.md | 105 ++ .../5ef9b03c81a63668521804df.md | 95 ++ .../5ef9b03c81a63668521804e1.md | 102 ++ .../5ef9b03c81a63668521804e2.md | 130 ++ .../5ef9b03c81a63668521804e3.md | 122 ++ .../5ef9b03c81a63668521804e5.md | 117 ++ .../5ef9b03c81a63668521804e7.md | 102 ++ .../5ef9b03c81a63668521804e8.md | 104 ++ .../5ef9b03c81a63668521804e9.md | 118 ++ .../5ef9b03c81a63668521804ea.md | 108 ++ .../5ef9b03c81a63668521804eb.md | 112 ++ .../5ef9b03c81a63668521804ec.md | 105 ++ .../5ef9b03c81a63668521804ee.md | 99 ++ .../5efada803cbd2bbdab94e332.md | 99 ++ .../5efae0543cbd2bbdab94e333.md | 99 ++ .../5efae16e3cbd2bbdab94e334.md | 123 ++ .../5efb23e70dc218d6c85f89b1.md | 104 ++ .../5efb2c990dc218d6c85f89b2.md | 101 ++ .../5efc4f528d6a74d05e68af74.md | 136 ++ .../5efc518e8d6a74d05e68af75.md | 98 ++ .../5efc54138d6a74d05e68af76.md | 86 ++ .../5efc575c8d6a74d05e68af77.md | 124 ++ .../5f05a1d8e233dff4a68508d8.md | 136 ++ .../5f07be6ef7412fbad0c5626b.md | 71 ++ .../5f07c98cdb9413cbd4b16750.md | 81 ++ .../5f07fb1579dc934717801375.md | 98 ++ .../5f0d48e7b435f13ab6550051.md | 105 ++ .../5f0d4ab1b435f13ab6550052.md | 128 ++ .../5f0d4d04b435f13ab6550053.md | 114 ++ .../5f1a80975fc4bcae0edb3497.md | 108 ++ .../5f1a89f1190aff21ae42105a.md | 106 ++ .../62bb4009e3458a128ff57d5d.md | 166 +++ .../62dabe2ef403a12d5d295273.md | 84 ++ .../7cf9b03d81a65668421804c3.md | 103 ++ .../60eebd07ea685b0e777b5583.md | 52 + .../60f027099a15b00485563dd2.md | 54 + .../60f027c87bc98f050395c139.md | 67 + .../60f0286404aefb0562a4fdf9.md | 56 + .../60f02e7361b68405e27b62a5.md | 44 + .../60f030d388cb74067cf291c3.md | 55 + .../60f1922fcbd2410527b3bd89.md | 56 + .../60f1a5e2d2c23707a4f9a660.md | 52 + .../60f1a9cbd23023082e149fee.md | 65 + .../60f5c3e399ff1a05629964e4.md | 63 + .../60f5cb8875ab6a0610f05071.md | 64 + .../60f5d2776c854e069560fbe6.md | 62 + .../60f5dc35c07ac1078f140916.md | 82 ++ .../60f803d5241e6a0433a523a1.md | 74 ++ .../60f805f813eaf2049bc2ceea.md | 95 ++ .../60f80e0081e0f2052ae5b505.md | 87 ++ .../60f81167d0d4910809f88945.md | 80 ++ .../60f81616cff80508badf9ad5.md | 94 ++ .../60f83e7bfc09900959f41e20.md | 74 ++ .../60f84ec41116b209c280ba91.md | 82 ++ .../60f852f645b5310a8264f555.md | 76 ++ .../60f85a62fb30c80bcea0cedb.md | 85 ++ .../60f8604682407e0d017bbf7f.md | 82 ++ .../60f8618d191b940d62038513.md | 106 ++ .../60fab4a123ce4b04526b082b.md | 84 ++ .../60fab8367d35de04e5cb7929.md | 86 ++ .../60fab9f17fa294054b74228c.md | 88 ++ .../60fabf0dd4959805dbae09e6.md | 103 ++ .../60fac4095512d3066053d73c.md | 84 ++ .../60fac56271087806def55b33.md | 100 ++ .../60fac8d7fdfaee0796934f20.md | 116 ++ .../60faca286cb48b07f6482970.md | 110 ++ .../60facde2d0dc61085b41063f.md | 105 ++ .../60facf914c7b9b08d7510c2c.md | 95 ++ .../60fad0a812d9890938524f50.md | 95 ++ .../60fad1cafcde010995e15306.md | 155 +++ .../60fad6dfcc0d930a59becf12.md | 102 ++ .../60fad8e6148f310bba7890b1.md | 103 ++ .../60fad99e09f9d30c1657e790.md | 120 ++ .../60fadb18058e950c73925279.md | 121 ++ .../60fadce90f85c50d0bb0dd4f.md | 106 ++ .../60fadd972e6ffe0d6858fa2d.md | 152 +++ .../60fadfa2b540b70dcfa8b771.md | 132 ++ .../60fc219d333e37046f474a6e.md | 126 ++ .../60fc22d1e64d1b04cdd4e602.md | 141 +++ .../60fc236dc04532052926fdac.md | 126 ++ .../60ffe1bc30415f042faea936.md | 143 +++ .../60ffe3936796ac04959285a9.md | 140 +++ .../60ffe4f4ec18cd04dc470c56.md | 145 +++ .../60ffe69ee377c6055e192a46.md | 153 +++ .../60ffe7d8aae62c05bcc9e7eb.md | 146 +++ .../60ffe8a5ceb0e90618db06d9.md | 144 +++ .../60ffe947a868ec068f7850f6.md | 146 +++ .../60ffe9cb47809106eda2f2c9.md | 151 +++ .../60ffec2825da1007509ddd06.md | 152 +++ .../60ffecefac971607ae73c60f.md | 153 +++ .../60ffefd6479a3d084fb77cbc.md | 286 +++++ .../62b30924c5e4ef0daba23b5e.md | 122 ++ .../62cc5b1779e4d313466f73c5.md | 70 ++ .../62ff8b9dab5ac88e4d3d43a3.md | 109 ++ .../62ff8e998d3e7eae14d6ae3b.md | 102 ++ .../62ff919a7b5612c0670923a5.md | 131 ++ .../60b69a66b6ddb80858c51578.md | 112 ++ .../60b69a66b6ddb80858c51579.md | 63 + .../60b69a66b6ddb80858c5157a.md | 56 + .../60b69a66b6ddb80858c5157b.md | 50 + .../60b69a66b6ddb80858c5157c.md | 51 + .../60b69a66b6ddb80858c5157d.md | 54 + .../60b69a66b6ddb80858c5157e.md | 56 + .../60b69a66b6ddb80858c5157f.md | 69 ++ .../60b69a66b6ddb80858c51580.md | 59 + .../60b69a66b6ddb80858c51581.md | 68 + .../60b69a66b6ddb80858c51582.md | 70 ++ .../60b69a66b6ddb80858c51583.md | 84 ++ .../60b69a66b6ddb80858c51584.md | 79 ++ .../60b69a66b6ddb80858c51585.md | 74 ++ .../60b69a66b6ddb80858c51586.md | 93 ++ .../60b69a66b6ddb80858c51587.md | 91 ++ .../60b69a66b6ddb80858c51588.md | 102 ++ .../60b69a66b6ddb80858c51589.md | 88 ++ .../60b69a66b6ddb80858c5158a.md | 107 ++ .../60b69a66b6ddb80858c5158b.md | 105 ++ .../60b69a66b6ddb80858c5158c.md | 116 ++ .../60b69a66b6ddb80858c5158d.md | 114 ++ .../60b69a66b6ddb80858c5158e.md | 105 ++ .../60b69a66b6ddb80858c5158f.md | 126 ++ .../60b69a66b6ddb80858c51590.md | 124 ++ .../60b69a66b6ddb80858c51591.md | 115 ++ .../60b69a66b6ddb80858c51592.md | 136 ++ .../60b69a66b6ddb80858c51593.md | 125 ++ .../60b69a66b6ddb80858c51594.md | 135 ++ .../60b69a66b6ddb80858c51595.md | 146 +++ .../60b69a66b6ddb80858c51596.md | 144 +++ .../60b69a66b6ddb80858c51597.md | 135 ++ .../60b69a66b6ddb80858c51598.md | 142 +++ .../60b69a66b6ddb80858c51599.md | 156 +++ .../60b69a66b6ddb80858c5159a.md | 158 +++ .../60b69a66b6ddb80858c5159b.md | 161 +++ .../60b69a66b6ddb80858c5159c.md | 169 +++ .../60b69a66b6ddb80858c5159d.md | 167 +++ .../60b69a66b6ddb80858c5159e.md | 178 +++ .../60b69a66b6ddb80858c5159f.md | 183 +++ .../60b69a66b6ddb80858c515a0.md | 181 +++ .../60b69a66b6ddb80858c515a1.md | 192 +++ .../60b69a66b6ddb80858c515a2.md | 190 +++ .../60b69a66b6ddb80858c515a3.md | 201 +++ .../60b69a66b6ddb80858c515a4.md | 199 +++ .../60b69a66b6ddb80858c515a5.md | 190 +++ .../60b69a66b6ddb80858c515a6.md | 211 ++++ .../60b69a66b6ddb80858c515a7.md | 217 ++++ .../60b69a66b6ddb80858c515a8.md | 207 ++++ .../60b69a66b6ddb80858c515a9.md | 217 ++++ .../60b69a66b6ddb80858c515aa.md | 220 ++++ .../60b69a66b6ddb80858c515ab.md | 225 ++++ .../60b69a66b6ddb80858c515ac.md | 228 ++++ .../60b69a66b6ddb80858c515ad.md | 225 ++++ .../60b69a66b6ddb80858c515ae.md | 245 ++++ .../60b69a66b6ddb80858c515af.md | 240 ++++ .../60b69a66b6ddb80858c515b0.md | 238 ++++ .../60b69a66b6ddb80858c515b1.md | 298 +++++ .../60b69a66b6ddb80858c515b2.md | 281 +++++ .../60b69a66b6ddb80858c515b3.md | 287 +++++ .../60b69a66b6ddb80858c515b4.md | 285 +++++ .../60b69a66b6ddb80858c515b5.md | 296 +++++ .../60b69a66b6ddb80858c515b6.md | 282 +++++ .../60b69a66b6ddb80858c515b7.md | 295 +++++ .../60b69a66b6ddb80858c515b8.md | 286 +++++ .../60b69a66b6ddb80858c515b9.md | 301 +++++ .../60b69a66b6ddb80858c515ba.md | 304 +++++ .../60b69a66b6ddb80858c515bc.md | 295 +++++ .../60b69a66b6ddb80858c515bd.md | 348 ++++++ .../60b69a66b6ddb80858c515be.md | 337 +++++ .../60b69a66b6ddb80858c515bf.md | 348 ++++++ .../60b69a66b6ddb80858c515c0.md | 359 ++++++ .../60b69a66b6ddb80858c515c1.md | 365 ++++++ .../60b69a66b6ddb80858c515c2.md | 363 ++++++ .../60b69a66b6ddb80858c515c3.md | 354 ++++++ .../60b69a66b6ddb80858c515c4.md | 381 ++++++ .../60b69a66b6ddb80858c515c5.md | 382 ++++++ .../60b69a66b6ddb80858c515c6.md | 388 ++++++ .../60b69a66b6ddb80858c515c7.md | 739 +++++++++++ .../60b80da8676fb3227967a731.md | 71 ++ .../60ba890832b4940f24d1936b.md | 312 +++++ .../60ba89123a445e0f5c9e4022.md | 326 +++++ .../60ba8913f1704c0f7a8906b8.md | 312 +++++ .../60ba89146b25080f99ab54ad.md | 315 +++++ .../60ba8914bab51f0fb8228e9c.md | 310 +++++ .../60ba929345ab0714a3743655.md | 327 +++++ .../60ba9296d4d6b414c1b10995.md | 330 +++++ .../60ba92987c1e4914dfa7a0b9.md | 321 +++++ .../60bad32219ebcb4a8810ac6a.md | 164 +++ .../61fd5a93fd62bb35968adeab.md | 131 ++ .../61fd6343fb42013d99bcd7f3.md | 48 + .../61fd66c687e610436494c6f1.md | 52 + .../61fd67a656743144844941cb.md | 78 ++ .../61fd6ab779390f49148773bb.md | 65 + .../61fd6b7c83dbf54a08cf0498.md | 79 ++ .../61fd6cc9475a784b7776233e.md | 80 ++ .../61fd70336ebb3e4f62ee81ba.md | 73 ++ .../61fd719788899952e67692b9.md | 86 ++ .../61fd71d596e8f253b9408b39.md | 86 ++ .../61fd75ea7f663457612dba02.md | 125 ++ .../61fd7648a7ba2e5882436831.md | 96 ++ .../61fd778081276b59d59abad6.md | 134 ++ .../61fd77f7ad2aeb5ae34d07d6.md | 138 +++ .../61fd78621573aa5e8b512f5e.md | 142 +++ .../61fd7a160ed17960e971f28b.md | 140 +++ .../61fd7b3fcaa5406257abc5d1.md | 130 ++ .../61fd8e491324ce717da97ffe.md | 119 ++ .../61fd8fd08af43372f02952d0.md | 149 +++ .../61fd9126aa72a474301fc49f.md | 131 ++ .../61fd933ba685de776a94997e.md | 169 +++ .../61fd94056e0355785fbba4d3.md | 173 +++ .../61fd986ddbcbd47ba8fbc5ec.md | 177 +++ .../61fd990577d8227dd93fbeeb.md | 181 +++ .../61fd9a4ff2fc4481b9157bd7.md | 165 +++ .../61fd9ad665a4a282c8106be3.md | 198 +++ .../61fd9b7285bde783ad5b8aac.md | 208 ++++ .../61fd9d9fbdfe078800317055.md | 158 +++ .../61fda307bde0b091cf7d884a.md | 168 +++ .../61fda339eadcfd92a6812bed.md | 171 +++ .../61fdac1e31692f9a9ad97295.md | 178 +++ .../61fdaea3999cb19d76ce717b.md | 173 +++ .../61fdaf9ff894b6a084ecdc1b.md | 175 +++ .../61fdafe6f07fd7a1c6785bc2.md | 183 +++ .../61fdb04d9939f0a26ca51c2b.md | 193 +++ .../620159cd5431aa34bc6a4c9c.md | 199 +++ .../62015a5da1c95c358f079ebb.md | 195 +++ .../62015cd2654a1139321a89d2.md | 197 +++ .../62015d8942384c3aed48329e.md | 213 ++++ .../620167374bb8b4455cd11125.md | 225 ++++ .../620174ed519dd7506c1a4b61.md | 213 ++++ .../620175b3710a0951cfa86edf.md | 230 ++++ .../6201782cc420715562f36271.md | 233 ++++ .../620179bc0a6a2358c72b90ad.md | 225 ++++ .../62017b6f47454059bf2d3bd1.md | 231 ++++ .../62017f47c87be96457c49f46.md | 299 +++++ .../62017fa5bbef406580ceb44f.md | 237 ++++ .../62018243f046a368fab8ffb6.md | 239 ++++ .../6201830cb0c74b69f1b41635.md | 243 ++++ .../620186f4b6b8356d2def576b.md | 253 ++++ .../62018ba1aa263770c953be66.md | 252 ++++ .../62018c3e94434a71af1d5eaa.md | 262 ++++ .../62018ec29b3ae674f40bef31.md | 256 ++++ .../62019093fe30e278e797d2f6.md | 266 ++++ .../620191707bc65579ddd3ce15.md | 271 ++++ .../620192a767533a7ad19d96d7.md | 278 +++++ .../6201995d9ab88e80f1989dce.md | 275 +++++ .../620199c7a7a32c81d4db3410.md | 279 +++++ .../6201a1a7af32c287bd6b8183.md | 285 +++++ .../6201a1cc668a34888f5b2f52.md | 289 +++++ .../6201a20d742f5c89736c8cfb.md | 303 +++++ .../6201a42e39bf3b95b6a33bf3.md | 321 +++++ .../6201a4adcc6414968b391592.md | 297 +++++ .../6201a5258af7b398b030bfaf.md | 313 +++++ .../6201a59be346d399c21d10b1.md | 591 +++++++++ .../612e6afc009b450a437940a1.md | 133 ++ .../612e77aba7ca691f598feb02.md | 64 + .../612e78af05201622d4bab8aa.md | 57 + .../612e7d1c29fb872d6384379c.md | 60 + .../612e804c54d5e7308d7ebe56.md | 60 + .../612e813b3ba67633222cbe54.md | 95 ++ .../612e8279827a28352ce83a72.md | 74 ++ .../612e83ec2eca1e370f830511.md | 102 ++ .../612e89562043183c86df287c.md | 77 ++ .../612e89d254fe5d3df7d6693d.md | 83 ++ .../612e8eebe3a6dc3fcc33a66f.md | 95 ++ .../612e95ef2e4bdf41f69067f9.md | 81 ++ .../612e96fc87fe8e44f69f7ec5.md | 102 ++ .../612e98f3245c98475e49cfc6.md | 88 ++ .../612e9a21381a1949327512e6.md | 89 ++ .../612e9d142affc44a453655db.md | 117 ++ .../612e9f1e7e5ccd4fa9ada0be.md | 103 ++ .../612ea4c4993aba52ab4aa32e.md | 119 ++ .../612ea97df5742154772f312e.md | 110 ++ .../612ead8788d28655ef8db056.md | 112 ++ .../612eaf56b7ba3257fdbfb0db.md | 144 +++ .../612eb4893b63c75bb9251ddf.md | 129 ++ .../612eb75153591b5e3b1ab65e.md | 115 ++ .../612eb7ca8c275d5f89c73333.md | 116 ++ .../612eb8e984cd73677a92b7e9.md | 117 ++ .../612eb934f64a4d6890a45518.md | 118 ++ .../612ebcba99bfa46a15370b11.md | 139 +++ .../612ebe7fe6d07e6b76d1cae2.md | 133 ++ .../612ebedec97e096c8bf64999.md | 136 ++ .../612ebf9a210f2b6d77001e68.md | 139 +++ .../612ec0490ae8626e9adf82e4.md | 133 ++ .../612ec19d5268da7074941f84.md | 154 +++ .../612ec29c84b9a6718b1f5cec.md | 288 +++++ .../60a3e3396c7b40068ad6996a.md | 55 + .../60a3e3396c7b40068ad6996b.md | 65 + .../60a3e3396c7b40068ad6996c.md | 42 + .../60a3e3396c7b40068ad6996d.md | 41 + .../60a3e3396c7b40068ad6996e.md | 43 + .../60a3e3396c7b40068ad6996f.md | 47 + .../60a3e3396c7b40068ad69970.md | 53 + .../60a3e3396c7b40068ad69971.md | 67 + .../60a3e3396c7b40068ad69972.md | 54 + .../60a3e3396c7b40068ad69973.md | 55 + .../60a3e3396c7b40068ad69974.md | 67 + .../60a3e3396c7b40068ad69975.md | 67 + .../60a3e3396c7b40068ad69976.md | 64 + .../60a3e3396c7b40068ad69977.md | 65 + .../60a3e3396c7b40068ad69978.md | 66 + .../60a3e3396c7b40068ad69979.md | 71 ++ .../60a3e3396c7b40068ad6997a.md | 74 ++ .../60a3e3396c7b40068ad6997b.md | 70 ++ .../60a3e3396c7b40068ad6997c.md | 71 ++ .../60a3e3396c7b40068ad6997d.md | 74 ++ .../60a3e3396c7b40068ad6997e.md | 75 ++ .../60a3e3396c7b40068ad6997f.md | 82 ++ .../60a3e3396c7b40068ad69980.md | 84 ++ .../60a3e3396c7b40068ad69981.md | 84 ++ .../60a3e3396c7b40068ad69982.md | 79 ++ .../60a3e3396c7b40068ad69983.md | 80 ++ .../60a3e3396c7b40068ad69984.md | 81 ++ .../60a3e3396c7b40068ad69986.md | 93 ++ .../60a3e3396c7b40068ad69987.md | 94 ++ .../60a3e3396c7b40068ad69988.md | 87 ++ .../60a3e3396c7b40068ad69989.md | 88 ++ .../60a3e3396c7b40068ad6998a.md | 89 ++ .../60a3e3396c7b40068ad6998b.md | 93 ++ .../60a3e3396c7b40068ad6998c.md | 100 ++ .../60a3e3396c7b40068ad6998d.md | 108 ++ .../60a3e3396c7b40068ad6998e.md | 95 ++ .../60a3e3396c7b40068ad6998f.md | 98 ++ .../60a3e3396c7b40068ad69990.md | 97 ++ .../60a3e3396c7b40068ad69991.md | 98 ++ .../60a3e3396c7b40068ad69992.md | 101 ++ .../60a3e3396c7b40068ad69993.md | 100 ++ .../60a3e3396c7b40068ad69994.md | 103 ++ .../60a3e3396c7b40068ad69995.md | 104 ++ .../60a3e3396c7b40068ad69996.md | 103 ++ .../60a3e3396c7b40068ad69997.md | 180 +++ .../615f2abbe7d18d49a1e0e1c8.md | 55 + .../615f2d4150fe0d4cbd0f2628.md | 60 + .../615f34948891834dd77655a6.md | 61 + .../615f34ecc1091b4fd5a8a484.md | 68 + .../615f357957e370510f21ea16.md | 53 + .../615f378014c2da526a109c81.md | 55 + .../615f38279e5c3d53692ea441.md | 64 + .../615f38cabc64e3556f98cc1a.md | 63 + .../615f3949f58e12577dcefb00.md | 59 + .../615f39d7da41b15851fa3fb9.md | 64 + .../615f3b091162165948e1cb33.md | 70 ++ .../615f3cafd794015aa9547a6d.md | 74 ++ .../615f3d9e59db4b5b8e960762.md | 68 + .../615f3e1b7233ee5c7595771f.md | 69 ++ .../615f3e4af8008c5d494d3afe.md | 78 ++ .../615f3ed16592445e57941aec.md | 94 ++ .../615f405b89a7ec5f8e2d11f4.md | 89 ++ .../615f40b01f680e608d360ed4.md | 82 ++ .../615f4172e9eec061d6456221.md | 89 ++ .../615f41c979787462e76dab90.md | 102 ++ .../615f423cf65d5864132a0956.md | 84 ++ .../615f42a021625f656101ef93.md | 104 ++ .../615f4bfb9de4a16703b56eb6.md | 94 ++ .../615f4ce9d877b668417c0c42.md | 104 ++ .../615f4dde9d72e3694cb9ee3b.md | 105 ++ .../615f4ec58334106a4170c2a8.md | 105 ++ .../615f4f9e4a40566b776a8f38.md | 111 ++ .../615f50473cc0196c6dd3892a.md | 101 ++ .../615f51257a8a516d80b6c743.md | 113 ++ .../615f51e4e5b24a6e80eccce1.md | 116 ++ .../615f522dea4f776f64dc3e91.md | 113 ++ .../615f5486b8fd4b71633f69b0.md | 138 +++ .../615f575b50b91e72af079480.md | 119 ++ .../615f5af373a68e744a3c5a76.md | 120 ++ .../615f5c1cb7575c7551ed8a40.md | 116 ++ .../615f5fd85d0062761f288364.md | 119 ++ .../615f61338c8ca176d6445574.md | 126 ++ .../615f666ac5edea782feb7e75.md | 127 ++ .../615f671b6d1919792745aa5d.md | 153 +++ .../615f6823d0815b7a991f2a75.md | 139 +++ .../615f6a7d4ba8037bc086c2c7.md | 127 ++ .../615f6b2d164f81809efd9bdc.md | 165 +++ .../615f6cc778f7698258467596.md | 156 +++ .../615f6fddaac1e083502d3e6a.md | 130 ++ .../615f70077a4ff98424236c1e.md | 138 +++ .../615f72a872354a850d4f533e.md | 142 +++ .../615f74a71f1e498619e38ee8.md | 149 +++ .../615f7ad94380408d971d14f6.md | 161 +++ .../615f7bc680f7168ea01ebf99.md | 146 +++ .../615f7c71eab8218f846e4503.md | 165 +++ .../615f7d489a581590d1350288.md | 146 +++ .../615f7de4487b64919bb4aa5e.md | 178 +++ .../615f7e7281626a92bbd62da8.md | 179 +++ .../615f7ecb09de9a938ef94756.md | 180 +++ .../615f7fa959ab75948f96a0d6.md | 164 +++ .../615f808d85793195b0f53be9.md | 166 +++ .../615f829d07b18f96f6f6684b.md | 150 +++ .../615f83ef928ec9982b785b6a.md | 156 +++ .../615f84f246e8ba98e3cd97be.md | 193 +++ .../615f887466db4ba14b5342cc.md | 176 +++ .../615f89e055040ba294719d2f.md | 175 +++ .../615f8bfe0f30a1a3c340356b.md | 202 +++ .../615f8f1223601fa546e93f31.md | 184 +++ .../615f905fbd1017a65ca224eb.md | 192 +++ .../615f94786869e1a7fec54375.md | 176 +++ .../615f951dff9317a900ef683f.md | 325 +++++ .../caesars-cipher.md | 88 ++ .../cash-register.md | 252 ++++ .../palindrome-checker.md | 125 ++ .../roman-numeral-converter.md | 215 ++++ .../telephone-number-validator.md | 217 ++++ .../5d5a813321b9e3db6c106a46.md | 154 +++ .../62a115879a6d51422652cbfc.md | 78 ++ .../62a1166ed9a56d439c0770e7.md | 70 ++ .../62a23c1d505bfa13747c8a9b.md | 167 +++ .../62a23cb9bc467a147516b500.md | 99 ++ .../62a23d1c5f1c93161f3582ae.md | 104 ++ .../62a2401b9842721796b72850.md | 62 + .../62a24068d60b671847d1d4e2.md | 68 + .../62a2409897ec621942234cf6.md | 86 ++ .../62a240c67f3dbb1a1e6d95ee.md | 113 ++ .../62a24128d5e8af1b47ad1aab.md | 101 ++ .../62a24190868ca51c0b6e83c7.md | 127 ++ .../62a241df03c1f61ce936f5d9.md | 101 ++ .../62a2509ba163e020bb9d84ea.md | 108 ++ .../62a255dae245b52317da824a.md | 108 ++ .../62a257659d0d1e2456f24ba2.md | 109 ++ .../62a39f5a5790eb27c1e5d4bf.md | 102 ++ .../62a3a0a3c0a4b32915d26a6e.md | 132 ++ .../62a3a488b24fb32b91155d56.md | 112 ++ .../62a3a75d8466a12e009eff76.md | 136 ++ .../62a3a7e4f1060e2fc5ffb34b.md | 122 ++ .../62a3b365f1cdeb33efc2502e.md | 138 +++ .../62a3b3eab50e193608c19fc6.md | 115 ++ .../62a3b41c9494f937560640ab.md | 140 +++ .../62a3b49686792938718b90d3.md | 118 ++ .../62a3b506dbaead396f58a701.md | 142 +++ .../62a3b5843544ce3a77459c27.md | 118 ++ .../62a3b79d520a7f3d0e25afd6.md | 128 ++ .../62a3bb9aeefe4b3fc43c6d7b.md | 116 ++ .../62a3bec30ea7f941412512dc.md | 181 +++ .../62a3c0ab883fd9435cd5c518.md | 134 ++ .../62a3c2fccf186146b59c6e96.md | 134 ++ .../62a3c4a0e52767482c5202d4.md | 151 +++ .../62a3c668afc43b4a134cca81.md | 150 +++ .../62a3c8bf3980c14c438d2aed.md | 138 +++ .../62a3c91a2bab1b4d6fabb726.md | 146 +++ .../62a3cdb11478a34ff4a6470d.md | 152 +++ .../62a3cfc8328d3351b95d4f61.md | 164 +++ .../62a7beb1ad61211ac153707f.md | 176 +++ .../62a7bf06d2ad9d1c5024e833.md | 202 +++ .../62a7bfabe119461eb13ccbd6.md | 157 +++ .../62a7bfd9179b7f1f6a15fb1e.md | 172 +++ .../62a7c011eef9fb2084b966db.md | 162 +++ .../62a7c071219da921758a35bb.md | 194 +++ .../62a7c23e6b511f22ed71197a.md | 164 +++ .../62a7cc99577fbf25ee7a7d76.md | 180 +++ .../62a8a929e4260d08093756d2.md | 176 +++ .../62a8a9d876b2580943ba9351.md | 171 +++ .../62a8aa98a8289d0a698eee1d.md | 187 +++ .../62a8ab0e27cbaf0b54ba8a42.md | 200 +++ .../62a8ac194679e60cb561b0a8.md | 194 +++ .../62a8ad8e01d7cb0deae5ec66.md | 198 +++ .../62a8ade9b2f5b30ef0b606c2.md | 181 +++ .../62a8ae85fcaedc0fddc7ca4f.md | 235 ++++ .../62a8b0b5053f16111b0b6b5f.md | 224 ++++ .../62a8b1762b7775124622e1a3.md | 176 +++ .../62a8b3cc436db8139cc5fc09.md | 170 +++ .../62a8b6536156c51500739b41.md | 190 +++ .../62a8b711ab7a12161c7d9b67.md | 176 +++ .../62a8b9770050d217d2247801.md | 176 +++ .../62a8c0c8313e891a15ec23e7.md | 188 +++ .../62a8c1154d3ae11aee80353f.md | 200 +++ .../62a8c151b23bf21bc7c4fcba.md | 176 +++ .../62a8c173949f851c83c64756.md | 178 +++ .../62a8c242b25a531f2909e5bc.md | 190 +++ .../62a8c2bbbd8aa82052f47c53.md | 234 ++++ .../62a8c31ec0ec78216a1c36a0.md | 204 +++ .../62a8c370ad8c68227137e0bc.md | 194 +++ .../62a8c3ebc6c35e23785e1a19.md | 192 +++ .../62a8c41ecaf1bd24536129b8.md | 203 +++ .../62a8c465fa7b0c252f4a8f0c.md | 207 ++++ .../62a8c4db0710f3260f867a92.md | 209 ++++ .../62a8c56247609626fa4a8d6e.md | 221 ++++ .../62a8c5db7888af27af23f0dd.md | 206 ++++ .../62a8c65b75664c28a8e59c16.md | 200 +++ .../62a8c6815f5f1a29735efe1b.md | 204 +++ .../62a8c7322e42962ad53ad204.md | 229 ++++ .../62a8c7a59e72c02bb1c717d2.md | 203 +++ .../62a8c89e4272512d44fc1c66.md | 215 ++++ .../62a8c8cee8e5cf2e001789b4.md | 219 ++++ .../62a8ca22d29fe62f3952bdf5.md | 208 ++++ .../62a8cb19bd7f8a304e5427a1.md | 206 ++++ .../62a8cbd1e3595431d5a2b3f1.md | 222 ++++ .../62a8cce1b0c32c33017cf2e9.md | 211 ++++ .../62a8ce1dfc990134162b3bd9.md | 203 +++ .../62a8ce73d0dce43468f6689c.md | 222 ++++ .../62a8cf22272d6d35af80d4ac.md | 229 ++++ .../62a8d0337d7c67377a4a76c6.md | 218 ++++ .../62a8d08668fa8b38732486e9.md | 211 ++++ .../62a8d0c4f12c2239b6618582.md | 226 ++++ .../62a8d0fdf2dad83a92883a80.md | 225 ++++ .../62a8d143f2a58e3b6d6e9c33.md | 215 ++++ .../62a8d1c72e8bb13c2074d93c.md | 215 ++++ .../62a8d2146a3e853d0a6e28ca.md | 224 ++++ .../62a8d24c97461b3ddb9397c8.md | 229 ++++ .../62a8d2e2a073be3edb46116f.md | 221 ++++ .../62a8d31ebbc10e3fe1b28e03.md | 223 ++++ .../62a8d35660db4040ba292193.md | 234 ++++ .../62a8d382cd075f4169223e14.md | 223 ++++ .../62a8d539dc11cb42b5dd7ec8.md | 233 ++++ .../62a8d61ddfe35744369365b7.md | 249 ++++ .../62a8d6c7001ebc45350e3d16.md | 243 ++++ .../62a8d7b8ab568b4649998954.md | 237 ++++ .../62a8d81f539f004776dd9b1e.md | 310 +++++ .../62a8dd468debb449b4454086.md | 250 ++++ .../62a8dd9cdb16324b04cfd958.md | 260 ++++ .../62a8dfcf7fb1044d2f478fd1.md | 259 ++++ .../62a8e0d1d0110b4ec421489f.md | 269 ++++ .../62a8e142f7f0bd4fed898de3.md | 288 +++++ .../62a8e1dc897df55108bcb5e8.md | 269 ++++ .../62a8e21398ad61520edb724f.md | 270 ++++ .../62a8e24c673b075317cc0b09.md | 281 +++++ .../62a8e271f8e3d1541f9624ad.md | 284 +++++ .../62a8e35675c18c56354c08cf.md | 285 +++++ .../62a8e41e2f190c58404dd46e.md | 293 +++++ .../62a8e45cc600c3591cee671a.md | 275 +++++ .../62a8e49f4df7af5ae2d7a616.md | 288 +++++ .../62a8e4dc6a60f85bf256a0cb.md | 316 +++++ .../62a8ed36d7a7915dfa444ba2.md | 289 +++++ .../62a8edd05e27cc668051686f.md | 285 +++++ .../62a8ee154c8946678775c4a4.md | 297 +++++ .../62a8ee71f018e968a056d369.md | 297 +++++ .../62a8eec45f77bc69e8775294.md | 291 +++++ .../62a8eefe2e68b66ac563816b.md | 299 +++++ .../62a8ef6a52292f6bdca4f6f8.md | 292 +++++ .../62a8ef8f0c76a46cd221a68c.md | 293 +++++ .../62a8efb0e3ce826db8daf80f.md | 295 +++++ .../62a8eff21c0b0f6ebe5b8e38.md | 319 +++++ .../62a8f06fb318666fef69f91e.md | 301 +++++ .../62a8f14fe6d1fc72454648c7.md | 308 +++++ .../62a8f1d5f5ddbf74c07f733b.md | 296 +++++ .../62a8f20463b324759953edad.md | 356 ++++++ .../62a8f256b813a476cae51f49.md | 353 ++++++ .../62a8f2bc37675e77d5835235.md | 355 ++++++ .../62a8f35bde1750791f58773f.md | 322 +++++ .../62a94114ce0b8918b487390f.md | 348 ++++++ .../62aa1cea594f152ba626b872.md | 326 +++++ .../62aa1d6736ba262cfa74344b.md | 332 +++++ .../62aa1d9f535e102e4663e7a6.md | 342 +++++ .../62aa1e3c7c3d552fb04f0f18.md | 328 +++++ .../62aa1e8ccd579330e097ce44.md | 338 +++++ .../62aa1eec891ed731db227a36.md | 350 ++++++ .../62aa1fed3d4e873366ff3131.md | 331 +++++ .../62aa204c1e1d33348ff09944.md | 333 +++++ .../62aa20e9cf1be9358f5aceae.md | 338 +++++ .../62aa2136fc49b836dfedb959.md | 342 +++++ .../62aa21971e3b743844849985.md | 354 ++++++ .../62aa21ea8d9d9f396b95dd87.md | 346 ++++++ .../62aa226207f33d3ad4c6f546.md | 367 ++++++ .../62aa22aba186563bcbf2c395.md | 350 ++++++ .../62aa234322d4ad3e8bce42cc.md | 364 ++++++ .../62aa2469c77b363fdb4f0e06.md | 358 ++++++ .../62aa252c3b1073415ba2b898.md | 355 ++++++ .../62aa258da314ef42ba0a1858.md | 384 ++++++ .../62aa25fcb5837d43b4d9873d.md | 389 ++++++ .../62aa2626c3c10244b94c787b.md | 364 ++++++ .../62aa264d23cdaa45a20efada.md | 381 ++++++ .../62aa26cca3cd3d46c431e73b.md | 379 ++++++ .../62aa27227399d647e1c37a3c.md | 380 ++++++ .../62aa27560def7048d7b4a095.md | 368 ++++++ .../62aa27c40ca6f04ab8be5fac.md | 375 ++++++ .../62aa28032d863d4bd8058799.md | 375 ++++++ .../62aa287434dc284cea01157c.md | 373 ++++++ .../62aa28bbd6323e4dfb3ac43e.md | 373 ++++++ .../62aa28fb651bf14efa2dbb16.md | 390 ++++++ .../62aa2943669c9d5026af6985.md | 387 ++++++ .../62aa2999ec27ec516655eba6.md | 386 ++++++ .../62aa29d8f8f88152c91350ca.md | 394 ++++++ .../62aa2aec2f09d454253aad6c.md | 394 ++++++ .../62aa2ba9cd881355a6f0a5a8.md | 746 +++++++++++ .../62b46e3a8d4be31be5af793d.md | 121 ++ .../62ba17beef16c563069a65d8.md | 339 +++++ .../62fc1ee0c5a89717d4785729.md | 114 ++ .../62fc20387ef88d1d1998aac5.md | 127 ++ .../62fc211760bfc220f4734800.md | 123 ++ .../build-a-survey-form.md | 12 +- .../falsy-bouncer.md | 4 +- ...f-an-array-using-concat-instead-of-push.md | 8 +- .../visualize-data-with-a-bar-chart.md | 2 +- .../visualize-data-with-a-choropleth-map.md | 2 +- .../visualize-data-with-a-heat-map.md | 2 +- ...visualize-data-with-a-scatterplot-graph.md | 2 +- .../visualize-data-with-a-treemap-diagram.md | 2 +- .../mongodb-and-mongoose/create-a-model.md | 4 +- .../build-your-own-functions.md | 2 +- .../comparing-and-sorting-tuples.md | 2 +- .../data-visualization-mailing-lists.md | 10 +- .../dictionaries-and-loops.md | 2 +- .../intermediate-strings.md | 2 +- .../more-conditional-structures.md | 4 +- .../relational-databases-and-sqlite.md | 6 +- ...al-databases-many-to-many-relationships.md | 10 +- .../python-for-everybody/strings-and-lists.md | 2 +- ...services-api-rate-limiting-and-security.md | 8 +- .../arithmetic-formatter.md | 4 +- .../budget-app.md | 2 +- .../polygon-area-calculator.md | 2 +- .../probability-calculator.md | 4 +- .../time-calculator.md | 2 +- .../demographic-data-analyzer.md | 6 +- ...-variance-standard-deviation-calculator.md | 6 +- .../medical-data-visualizer.md | 6 +- .../page-view-time-series-visualizer.md | 6 +- .../sea-level-predictor.md | 6 +- .../anonymous-message-board.md | 6 +- .../port-scanner.md | 8 +- .../sha-1-password-cracker.md | 10 +- .../stock-price-checker.md | 8 +- ...ur-site-via-https-only-with-helmet.hsts.md | 2 +- ...-response-mime-type-with-helmet.nosniff.md | 2 +- ...lmet-using-the-parent-helmet-middleware.md | 2 +- ...client-side-caching-with-helmet.nocache.md | 2 +- ...fetching-with-helmet.dnsprefetchcontrol.md | 2 +- ...sh-and-compare-passwords-asynchronously.md | 2 +- ...ash-and-compare-passwords-synchronously.md | 2 +- ...-information-using-helmet.hidepoweredby.md | 2 +- ...-of-clickjacking-with-helmet.frameguard.md | 2 +- ...pting-xss-attacks-with-helmet.xssfilter.md | 2 +- ...ing-untrusted-html-with-helmet.ienoopen.md | 2 +- ...olicy-with-helmet.contentsecuritypolicy.md | 2 +- .../understand-bcrypt-hashes.md | 8 +- .../problem-125-palindromic-sums.md | 51 +- .../build-a-survey-form.md | 12 +- .../6148da157cc0bd0d06df5c0a.md | 4 +- .../5f33294a6af5e9188dbdb8f3.md | 10 +- .../5f332a88dc25a0fd25c7687a.md | 12 +- .../5f332b23c2045fb843337579.md | 12 +- .../5f344f9c805cd193c33d829c.md | 2 +- .../5f344fad8bf01691e71a30eb.md | 2 +- .../5f344fbc22624a2976425065.md | 2 +- .../5f344fc1520b6719f2e35605.md | 2 +- .../5f3477ae34c1239cafe128be.md | 2 +- .../5f3477ae8466a9a3d2cc953c.md | 2 +- .../5f3477ae9675db8bb7655b30.md | 16 +- .../5f3477aefa51bfc29327200b.md | 2 +- .../5f3477cb2e27333b1ab2b955.md | 2 +- .../5f3477cb303c5cb61b43aa9b.md | 2 +- .../5f3477cbcb6ba47918c1da92.md | 2 +- .../5f34a1fd611d003edeafd681.md | 2 +- .../5f356ed60785e1f3e9850b6e.md | 2 +- .../5f356ed60a5decd94ab66986.md | 2 +- .../5f356ed6199b0cdef1d2be8f.md | 2 +- .../5f356ed63c7807a4f1e6d054.md | 2 +- .../5f356ed63e0fa262326eef05.md | 2 +- .../5f356ed656a336993abd9f7c.md | 2 +- .../5f356ed69db0a491745e2bb6.md | 2 +- .../5f356ed6cf6eab5f15f5cfe6.md | 2 +- .../5f35e5c4321f818cdc4bed30.md | 2 +- .../5f35e5c44359872a137bd98f.md | 2 +- .../5f3c866d0fc037f7311b4ac8.md | 2 +- .../5f3c866d28d7ad0de6470505.md | 2 +- .../5f3c866d5414453fc2d7b480.md | 2 +- .../5f3c866daec9a49519871816.md | 2 +- .../5f3c866dbf362f99b9a0c6d0.md | 2 +- .../5f3c866dd0d0275f01d4d847.md | 2 +- .../5f3c866de7a5b784048f94b1.md | 2 +- .../5f3cade94c6576e7f7b7953f.md | 2 +- .../5f3cade9993019e26313fa8e.md | 2 +- .../5f3cade99dda4e6071a85dfd.md | 2 +- .../5f3cade9fa77275d9f4efe62.md | 2 +- .../5f3ef6e01f288a026d709587.md | 8 +- .../5f3ef6e03d719d5ac4738993.md | 2 +- .../5f3ef6e04559b939080db057.md | 2 +- .../5f3ef6e050279c7a4a7101d3.md | 2 +- .../5f3ef6e05473f91f948724ab.md | 2 +- .../5f3ef6e056bdde6ae6892ba2.md | 2 +- .../5f3ef6e06d34faac0447fc44.md | 2 +- .../5f3ef6e07276f782bb46b93d.md | 2 +- .../5f3ef6e0819d4f23ca7285e6.md | 2 +- .../5f3ef6e087d56ed3ffdc36be.md | 2 +- .../5f3ef6e0a81099d9a697b550.md | 2 +- .../5f3ef6e0b431cc215bb16f55.md | 2 +- .../5f3ef6e0e0c3feaebcf647ad.md | 2 +- .../5f3ef6e0e9629bad967cd71e.md | 2 +- .../5f3ef6e0eaa7da26e3d34d78.md | 2 +- .../5f3ef6e0f8c230bdd2349716.md | 2 +- .../5f3f26fa39591db45e5cd7a0.md | 2 +- .../5f459225127805351a6ad057.md | 2 +- .../5f459a7ceb8b5c446656d88b.md | 2 +- .../5f459cf202c2a3472fae6a9f.md | 2 +- .../5f459fd48bdc98491ca6d1a3.md | 2 +- .../5f45a05977e2fa49d9119437.md | 2 +- .../5f45a276c093334f0f6e9df4.md | 2 +- .../5f45a5a7c49a8251f0bdb527.md | 2 +- .../5f45a66d4a2b0453301e5a26.md | 2 +- .../5f45b0731d39e15d54df4dfc.md | 2 +- .../5f45b25e7ec2405f166b9de1.md | 2 +- .../5f45b3c93c027860d9298dbd.md | 2 +- .../5f45b45d099f3e621fbbb256.md | 2 +- .../5f45b4c81cea7763550e40df.md | 2 +- .../5f45b715301bbf667badc04a.md | 2 +- .../5f46e270702a8456a664f0df.md | 2 +- .../5f46e36e745ead58487aabf2.md | 2 +- .../5f46e7a4750dd05b5a673920.md | 2 +- .../5f46e8284aae155c83015dee.md | 2 +- .../5f46ede1ff8fec5ba656b44c.md | 2 +- .../5f46fc57528aa1c4b5ea7c2e.md | 2 +- .../5f4701b942c824109626c3d8.md | 2 +- .../5f475bb508746c16c9431d42.md | 2 +- .../5f475e1c7f71a61d913836c6.md | 2 +- .../5f47633757ae3469f2d33d2e.md | 2 +- .../5f47fe7e31980053a8d4403b.md | 2 +- .../5f716ad029ee4053c7027a7a.md | 2 +- .../5f716bee5838c354c728a7c5.md | 2 +- .../5f7691dafd882520797cd2f0.md | 2 +- .../5f7692f7c5b3ce22a57788b6.md | 2 +- .../5f769541be494f25449b292f.md | 2 +- .../5f76967fad478126d6552b0d.md | 2 +- .../5f769702e6e33127d14aa120.md | 2 +- .../5f7b87422a560036fd03ccff.md | 2 +- .../5f7b88d37b1f98386f04edc0.md | 2 +- .../616965351e74d4689eb6de30.md | 8 +- .../6153a3952facd25a83fe8083.md | 2 +- .../5d822fd413a79914d39e98d5.md | 2 +- .../5dc2385ff86c76b9248c6eb7.md | 6 +- .../5dc23991f86c76b9248c6eb8.md | 4 +- .../5ddbd81294d8ddc1510a8e56.md | 4 +- .../5dfa22d1b521be39a3de7be0.md | 6 +- .../5f07be6ef7412fbad0c5626b.md | 4 +- .../60f1922fcbd2410527b3bd89.md | 10 +- .../60f803d5241e6a0433a523a1.md | 10 +- .../build-a-survey-form.md | 12 +- .../falsy-bouncer.md | 4 +- ...f-an-array-using-concat-instead-of-push.md | 8 +- .../visualize-data-with-a-bar-chart.md | 2 +- .../visualize-data-with-a-choropleth-map.md | 2 +- .../visualize-data-with-a-heat-map.md | 2 +- ...visualize-data-with-a-scatterplot-graph.md | 2 +- .../visualize-data-with-a-treemap-diagram.md | 2 +- .../mongodb-and-mongoose/create-a-model.md | 4 +- .../build-your-own-functions.md | 2 +- .../comparing-and-sorting-tuples.md | 2 +- .../data-visualization-mailing-lists.md | 10 +- .../dictionaries-and-loops.md | 2 +- .../intermediate-strings.md | 2 +- .../more-conditional-structures.md | 4 +- .../relational-databases-and-sqlite.md | 6 +- ...al-databases-many-to-many-relationships.md | 10 +- .../python-for-everybody/strings-and-lists.md | 2 +- ...services-api-rate-limiting-and-security.md | 8 +- .../arithmetic-formatter.md | 4 +- .../budget-app.md | 2 +- .../polygon-area-calculator.md | 2 +- .../probability-calculator.md | 4 +- .../time-calculator.md | 2 +- .../demographic-data-analyzer.md | 6 +- ...-variance-standard-deviation-calculator.md | 6 +- .../medical-data-visualizer.md | 6 +- .../page-view-time-series-visualizer.md | 6 +- .../sea-level-predictor.md | 6 +- .../anonymous-message-board.md | 6 +- .../port-scanner.md | 8 +- .../sha-1-password-cracker.md | 10 +- .../stock-price-checker.md | 8 +- ...ur-site-via-https-only-with-helmet.hsts.md | 2 +- ...-response-mime-type-with-helmet.nosniff.md | 2 +- ...lmet-using-the-parent-helmet-middleware.md | 2 +- ...client-side-caching-with-helmet.nocache.md | 2 +- ...fetching-with-helmet.dnsprefetchcontrol.md | 2 +- ...sh-and-compare-passwords-asynchronously.md | 2 +- ...ash-and-compare-passwords-synchronously.md | 2 +- ...-information-using-helmet.hidepoweredby.md | 2 +- ...-of-clickjacking-with-helmet.frameguard.md | 2 +- ...pting-xss-attacks-with-helmet.xssfilter.md | 2 +- ...ing-untrusted-html-with-helmet.ienoopen.md | 2 +- ...olicy-with-helmet.contentsecuritypolicy.md | 2 +- .../understand-bcrypt-hashes.md | 8 +- .../problem-125-palindromic-sums.md | 51 +- .../build-a-survey-form.md | 12 +- .../6148da157cc0bd0d06df5c0a.md | 4 +- .../5f33294a6af5e9188dbdb8f3.md | 10 +- .../5f332a88dc25a0fd25c7687a.md | 12 +- .../5f332b23c2045fb843337579.md | 12 +- .../5f344f9c805cd193c33d829c.md | 2 +- .../5f344fad8bf01691e71a30eb.md | 2 +- .../5f344fbc22624a2976425065.md | 2 +- .../5f344fc1520b6719f2e35605.md | 2 +- .../5f3477ae34c1239cafe128be.md | 2 +- .../5f3477ae8466a9a3d2cc953c.md | 2 +- .../5f3477ae9675db8bb7655b30.md | 16 +- .../5f3477aefa51bfc29327200b.md | 2 +- .../5f3477cb2e27333b1ab2b955.md | 2 +- .../5f3477cb303c5cb61b43aa9b.md | 2 +- .../5f3477cbcb6ba47918c1da92.md | 2 +- .../5f34a1fd611d003edeafd681.md | 2 +- .../5f356ed60785e1f3e9850b6e.md | 2 +- .../5f356ed60a5decd94ab66986.md | 2 +- .../5f356ed6199b0cdef1d2be8f.md | 2 +- .../5f356ed63c7807a4f1e6d054.md | 2 +- .../5f356ed63e0fa262326eef05.md | 2 +- .../5f356ed656a336993abd9f7c.md | 2 +- .../5f356ed69db0a491745e2bb6.md | 2 +- .../5f356ed6cf6eab5f15f5cfe6.md | 2 +- .../5f35e5c4321f818cdc4bed30.md | 2 +- .../5f35e5c44359872a137bd98f.md | 2 +- .../5f3c866d0fc037f7311b4ac8.md | 2 +- .../5f3c866d28d7ad0de6470505.md | 2 +- .../5f3c866d5414453fc2d7b480.md | 2 +- .../5f3c866daec9a49519871816.md | 2 +- .../5f3c866dbf362f99b9a0c6d0.md | 2 +- .../5f3c866dd0d0275f01d4d847.md | 2 +- .../5f3c866de7a5b784048f94b1.md | 2 +- .../5f3cade94c6576e7f7b7953f.md | 2 +- .../5f3cade9993019e26313fa8e.md | 2 +- .../5f3cade99dda4e6071a85dfd.md | 2 +- .../5f3cade9fa77275d9f4efe62.md | 2 +- .../5f3ef6e01f288a026d709587.md | 8 +- .../5f3ef6e03d719d5ac4738993.md | 2 +- .../5f3ef6e04559b939080db057.md | 2 +- .../5f3ef6e050279c7a4a7101d3.md | 2 +- .../5f3ef6e05473f91f948724ab.md | 2 +- .../5f3ef6e056bdde6ae6892ba2.md | 2 +- .../5f3ef6e06d34faac0447fc44.md | 2 +- .../5f3ef6e07276f782bb46b93d.md | 2 +- .../5f3ef6e0819d4f23ca7285e6.md | 2 +- .../5f3ef6e087d56ed3ffdc36be.md | 2 +- .../5f3ef6e0a81099d9a697b550.md | 2 +- .../5f3ef6e0b431cc215bb16f55.md | 2 +- .../5f3ef6e0e0c3feaebcf647ad.md | 2 +- .../5f3ef6e0e9629bad967cd71e.md | 2 +- .../5f3ef6e0eaa7da26e3d34d78.md | 2 +- .../5f3ef6e0f8c230bdd2349716.md | 2 +- .../5f3f26fa39591db45e5cd7a0.md | 2 +- .../5f459225127805351a6ad057.md | 2 +- .../5f459a7ceb8b5c446656d88b.md | 2 +- .../5f459cf202c2a3472fae6a9f.md | 2 +- .../5f459fd48bdc98491ca6d1a3.md | 2 +- .../5f45a05977e2fa49d9119437.md | 2 +- .../5f45a276c093334f0f6e9df4.md | 2 +- .../5f45a5a7c49a8251f0bdb527.md | 2 +- .../5f45a66d4a2b0453301e5a26.md | 2 +- .../5f45b0731d39e15d54df4dfc.md | 2 +- .../5f45b25e7ec2405f166b9de1.md | 2 +- .../5f45b3c93c027860d9298dbd.md | 2 +- .../5f45b45d099f3e621fbbb256.md | 2 +- .../5f45b4c81cea7763550e40df.md | 2 +- .../5f45b715301bbf667badc04a.md | 2 +- .../5f46e270702a8456a664f0df.md | 2 +- .../5f46e36e745ead58487aabf2.md | 2 +- .../5f46e7a4750dd05b5a673920.md | 2 +- .../5f46e8284aae155c83015dee.md | 2 +- .../5f46ede1ff8fec5ba656b44c.md | 2 +- .../5f46fc57528aa1c4b5ea7c2e.md | 2 +- .../5f4701b942c824109626c3d8.md | 2 +- .../5f475bb508746c16c9431d42.md | 2 +- .../5f475e1c7f71a61d913836c6.md | 2 +- .../5f47633757ae3469f2d33d2e.md | 2 +- .../5f47fe7e31980053a8d4403b.md | 2 +- .../5f716ad029ee4053c7027a7a.md | 2 +- .../5f716bee5838c354c728a7c5.md | 2 +- .../5f7691dafd882520797cd2f0.md | 2 +- .../5f7692f7c5b3ce22a57788b6.md | 2 +- .../5f769541be494f25449b292f.md | 2 +- .../5f76967fad478126d6552b0d.md | 2 +- .../5f769702e6e33127d14aa120.md | 2 +- .../5f7b87422a560036fd03ccff.md | 2 +- .../5f7b88d37b1f98386f04edc0.md | 2 +- .../616965351e74d4689eb6de30.md | 8 +- .../6153a3952facd25a83fe8083.md | 2 +- .../5d822fd413a79914d39e98d5.md | 2 +- .../5dc2385ff86c76b9248c6eb7.md | 6 +- .../5dc23991f86c76b9248c6eb8.md | 4 +- .../5ddbd81294d8ddc1510a8e56.md | 4 +- .../5dfa22d1b521be39a3de7be0.md | 6 +- .../5f07be6ef7412fbad0c5626b.md | 4 +- .../60f1922fcbd2410527b3bd89.md | 10 +- .../60f803d5241e6a0433a523a1.md | 10 +- .../problem-125-palindromic-sums.md | 51 +- .../problem-125-palindromic-sums.md | 51 +- .../problem-125-palindromic-sums.md | 51 +- .../problem-125-palindromic-sums.md | 51 +- .../problem-125-palindromic-sums.md | 51 +- .../problem-125-palindromic-sums.md | 51 +- .../5d822fd413a79914d39e98d5.md | 2 +- curriculum/dictionaries/arabic/comments.json | 111 ++ 3199 files changed, 377341 insertions(+), 545 deletions(-) create mode 100644 curriculum/challenges/arabic/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/data-visualization-certification/data-visualization-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/information-security-certification/information-security-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/quality-assurance-certification/quality-assurance-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/relational-database-certification/relational-database-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml create mode 100644 curriculum/challenges/arabic/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/standardize-times-with-the-html5-datetime-attribute.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/use-headings-to-show-hierarchical-relationships-of-content.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/use-tabindex-to-add-keyboard-focus-to-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/use-tabindex-to-specify-the-order-of-keyboard-focus-for-several-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/wrap-content-in-the-article-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/wrap-radio-buttons-in-a-fieldset-element-for-better-accessibility.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/add-a-box-shadow-to-a-card-like-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/adjust-the-background-color-property-of-text.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/adjust-the-color-of-various-elements-to-complementary-colors.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/adjust-the-height-of-an-element-using-the-height-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/adjust-the-hover-state-of-an-anchor-tag.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/adjust-the-hue-of-a-color.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/adjust-the-size-of-a-heading-element-versus-a-paragraph-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/adjust-the-tone-of-a-color.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/adjust-the-width-of-an-element-using-the-width-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/animate-elements-at-variable-rates.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/animate-elements-continually-using-an-infinite-animation-count.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/animate-multiple-elements-at-variable-rates.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/center-an-element-horizontally-using-the-margin-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/change-an-elements-relative-position.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/change-animation-timing-with-keywords.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/change-the-position-of-overlapping-elements-with-the-z-index-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/create-a-gradual-css-linear-gradient.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/create-a-graphic-using-css.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/create-a-horizontal-line-using-the-hr-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/create-a-more-complex-shape-using-css-and-html.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/create-movement-using-css-animation.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/create-texture-by-adding-a-subtle-pattern-as-a-background-image.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/create-visual-balance-using-the-text-align-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/create-visual-direction-by-fading-an-element-from-left-to-right.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/decrease-the-opacity-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/learn-about-complementary-colors.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/learn-about-tertiary-colors.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/learn-how-bezier-curves-work.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/learn-how-the-css-keyframes-and-animation-properties-work.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/lock-an-element-to-its-parent-with-absolute-positioning.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/lock-an-element-to-the-browser-window-with-fixed-positioning.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/make-a-css-heartbeat-using-an-infinite-animation-count.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/make-motion-more-natural-using-a-bezier-curve.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/modify-fill-mode-of-an-animation.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/move-a-relatively-positioned-element-with-css-offsets.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/push-elements-left-or-right-with-the-float-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/set-the-font-size-for-multiple-heading-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/set-the-font-size-of-paragraph-text.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/set-the-font-weight-for-multiple-heading-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/set-the-line-height-of-paragraphs.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-a-bezier-curve-to-move-a-graphic.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-a-css-linear-gradient-to-create-a-striped-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-css-animation-to-change-the-hover-state-of-a-button.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-the-css-transform-property-skewx-to-skew-an-element-along-the-x-axis.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-the-css-transform-property-skewy-to-skew-an-element-along-the-y-axis.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-change-the-size-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-the-css-transform-scale-property-to-scale-an-element-on-hover.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-the-em-tag-to-italicize-text.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-the-s-tag-to-strikethrough-text.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-the-strong-tag-to-make-text-bold.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-the-text-transform-property-to-make-text-uppercase.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/applied-visual-design/use-the-u-tag-to-underline-text.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/add-a-negative-margin-to-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/add-borders-around-your-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/add-different-margins-to-each-side-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/add-different-padding-to-each-side-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/add-rounded-corners-with-border-radius.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/adjust-the-margin-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/adjust-the-padding-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/attach-a-fallback-value-to-a-css-variable.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/change-a-variable-for-a-specific-area.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/change-the-color-of-text.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/change-the-font-size-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/create-a-custom-css-variable.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/give-a-background-color-to-a-div-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/import-a-google-font.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/improve-compatibility-with-browser-fallbacks.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/inherit-css-variables.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/inherit-styles-from-the-body-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/make-circular-images-with-a-border-radius.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/override-all-other-styles-by-using-important.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/override-class-declarations-by-styling-id-attributes.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/override-class-declarations-with-inline-styles.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/override-styles-in-subsequent-css.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/prioritize-one-style-over-another.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/set-the-font-family-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/set-the-id-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/size-your-images.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/specify-how-fonts-should-degrade.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/style-multiple-elements-with-a-css-class.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/style-the-html-body-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/understand-absolute-versus-relative-units.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-a-css-class-to-style-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-a-custom-css-variable.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-a-media-query-to-change-a-variable.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-abbreviated-hex-code.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-an-id-attribute-to-style-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-attribute-selectors-to-style-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-margin-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-clockwise-notation-to-specify-the-padding-of-an-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-css-selectors-to-style-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-css-variables-to-change-several-elements-at-once.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-hex-code-for-specific-colors.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-hex-code-to-mix-colors.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-rgb-to-mix-colors.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-css/use-rgb-values-to-color-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/add-a-submit-button-to-a-form.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/add-images-to-your-website.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/add-placeholder-text-to-a-text-field.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/comment-out-html.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/create-a-bulleted-unordered-list.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/create-a-form-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/create-a-set-of-checkboxes.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/create-a-set-of-radio-buttons.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/create-a-text-field.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/create-an-ordered-list.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/declare-the-doctype-of-an-html-document.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/define-the-head-and-body-of-an-html-document.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/delete-html-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/fill-in-the-blank-with-placeholder-text.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/headline-with-the-h2-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/inform-with-the-paragraph-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/introduction-to-html5-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/link-to-external-pages-with-anchor-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/link-to-internal-sections-of-a-page-with-anchor-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/make-dead-links-using-the-hash-symbol.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/nest-an-anchor-element-within-a-paragraph.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/nest-many-elements-within-a-single-div-element.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/say-hello-to-html-elements.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/turn-an-image-into-a-link.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/uncomment-html.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/use-html5-to-require-a-field.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/basic-html-and-html5/use-the-value-attribute-with-radio-buttons-and-checkboxes.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/add-flex-superpowers-to-the-tweet-embed.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/align-elements-using-the-align-items-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/align-elements-using-the-justify-content-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-a-column-in-the-tweet-embed.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/apply-the-flex-direction-property-to-create-rows-in-the-tweet-embed.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-display-flex-to-position-two-boxes.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-align-items-property-in-the-tweet-embed.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-align-self-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-flex-basis-property-to-set-the-initial-size-of-an-item.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-column.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-flex-direction-property-to-make-a-row.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-flex-grow-property-to-expand-items.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-flex-shorthand-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-flex-shrink-property-to-shrink-items.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-flex-wrap-property-to-wrap-a-row-or-column.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-justify-content-property-in-the-tweet-embed.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-flexbox/use-the-order-property-to-rearrange-items.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/add-columns-with-grid-template-columns.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/add-gaps-faster-with-grid-gap.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/add-rows-with-grid-template-rows.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/align-all-items-horizontally-using-justify-items.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/align-all-items-vertically-using-align-items.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/align-an-item-horizontally-using-justify-self.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/align-an-item-vertically-using-align-self.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/create-a-column-gap-using-grid-column-gap.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/create-a-row-gap-using-grid-row-gap.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/create-flexible-layouts-using-auto-fill.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/create-flexible-layouts-using-auto-fit.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/create-grids-within-grids.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/create-your-first-css-grid.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/divide-the-grid-into-an-area-template.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/limit-item-size-using-the-minmax-function.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/place-items-in-grid-areas-using-the-grid-area-property.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/reduce-repetition-using-the-repeat-function.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/use-css-grid-units-to-change-the-size-of-columns-and-rows.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/use-grid-area-without-creating-an-areas-template.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/use-grid-column-to-control-spacing.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/use-grid-row-to-control-spacing.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/css-grid/use-media-queries-to-create-responsive-layouts.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/responsive-web-design-principles/create-a-media-query.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/responsive-web-design-principles/make-an-image-responsive.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/responsive-web-design-principles/make-typography-responsive.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/responsive-web-design-principles/use-a-retina-image-for-higher-resolution-displays.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/responsive-web-design-projects/build-a-personal-portfolio-webpage.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/responsive-web-design-projects/build-a-product-landing-page.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/responsive-web-design-projects/build-a-survey-form.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/responsive-web-design-projects/build-a-technical-documentation-page.md create mode 100644 curriculum/challenges/arabic/01-responsive-web-design/responsive-web-design-projects/build-a-tribute-page.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/boo-who.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/chunky-monkey.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/convert-celsius-to-fahrenheit.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/factorialize-a-number.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/find-the-longest-word-in-a-string.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/finders-keepers.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/mutations.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/repeat-a-string-repeat-a-string.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/return-largest-numbers-in-arrays.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/reverse-a-string.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/slice-and-splice.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/title-case-a-sentence.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/truncate-a-string.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/where-do-i-belong.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/access-an-arrays-contents-using-bracket-notation.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/access-property-names-with-bracket-notation.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/add-items-to-an-array-with-push-and-unshift.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/add-items-using-splice.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/add-key-value-pairs-to-javascript-objects.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/check-if-an-object-has-a-property.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/combine-arrays-with-the-spread-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/copy-an-array-with-the-spread-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/copy-array-items-using-slice.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/create-complex-multi-dimensional-arrays.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/generate-an-array-of-all-object-keys-with-object.keys.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-all-an-arrays-items-using-for-loops.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/iterate-through-the-keys-of-an-object-with-a-for...in-statement.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/modify-an-array-stored-in-an-object.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/modify-an-object-nested-within-an-object.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/remove-items-from-an-array-with-pop-and-shift.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/remove-items-using-splice.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/use-the-delete-keyword-to-remove-object-properties.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/access-array-data-with-indexes.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/access-multi-dimensional-arrays-with-indexes.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-arrays.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/accessing-nested-objects.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-bracket-notation.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-dot-notation.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-variables.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/add-new-properties-to-a-javascript-object.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/add-two-numbers-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/appending-variables-to-strings.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/assigning-the-value-of-one-variable-to-another.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/assignment-with-a-returned-value.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/chaining-if-else-statements.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comment-your-javascript-code.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-equality-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-greater-than-or-equal-to-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-less-than-or-equal-to-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-equality-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-strict-inequality-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-and-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparisons-with-the-logical-or-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-addition.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-division.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-multiplication.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/compound-assignment-with-augmented-subtraction.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-plus-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/concatenating-strings-with-the-plus-equals-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/constructing-strings-with-variables.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/count-backwards-with-a-for-loop.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/counting-cards.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/create-decimal-numbers-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/declare-a-read-only-variable-with-the-const-keyword.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/declare-javascript-variables.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/declare-string-variables.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/decrement-a-number-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/delete-properties-from-a-javascript-object.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-decimal-by-another-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/divide-one-number-by-another-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/explore-differences-between-the-var-and-let-keywords.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/finding-a-remainder-in-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/generate-random-fractions-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/generate-random-whole-numbers-within-a-range.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/global-vs.-local-scope-in-functions.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/golf-code.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/increment-a-number-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/introducing-else-if-statements.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/introducing-else-statements.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do...while-loops.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-for-loops.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-while-loops.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/local-scope-and-functions.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-pop.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-push.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-shift.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/manipulate-arrays-with-unshift.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/manipulating-complex-objects.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/modify-array-data-with-indexes.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/multiple-identical-options-in-switch-statements.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/multiply-two-decimals-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/multiply-two-numbers-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/nesting-for-loops.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/passing-values-to-functions-with-arguments.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/practice-comparing-different-values.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/profile-lookup.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/quoting-strings-with-single-quotes.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/record-collection.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/replacing-if-else-chains-with-switch.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/return-a-value-from-a-function-with-return.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/return-early-pattern-for-functions.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/returning-boolean-values-from-functions.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/selecting-from-many-options-with-switch-statements.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/shopping-list.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/stand-in-line.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/store-multiple-values-in-one-variable-using-javascript-arrays.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/subtract-one-number-from-another-with-javascript.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/testing-objects-for-properties.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understand-string-immutability.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-boolean-values.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-case-sensitivity-in-variables.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/updating-object-properties.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-first-character-in-a-string.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-last-character-in-a-string.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-character-in-a-string.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-bracket-notation-to-find-the-nth-to-last-character-in-a-string.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-conditional-logic-with-if-statements.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-multiple-conditional-ternary-operators.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-the-conditional-ternary-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function-with-a-radix.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-the-parseint-function.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/word-blanks.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/write-reusable-javascript-with-functions.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-arguments-passed-in-the-wrong-order-when-calling-a-function.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-missing-open-and-closing-parenthesis-after-a-function-call.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-misspelled-variable-and-function-names.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-mixed-usage-of-single-and-double-quotes.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-off-by-one-errors-when-using-indexing.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-unclosed-parentheses-brackets-braces-and-quotes.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/catch-use-of-assignment-operator-instead-of-equality-operator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/prevent-infinite-loops-with-a-valid-terminal-condition.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/use-caution-when-reinitializing-variables-inside-a-loop.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/use-the-javascript-console-to-check-the-value-of-a-variable.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/use-typeof-to-check-the-type-of-a-variable.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/complete-a-promise-with-resolve-and-reject.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-a-javascript-promise.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-a-module-script.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-an-export-fallback-with-export-default.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/handle-a-fulfilled-promise-with-then.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/handle-a-rejected-promise-with-catch.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/import-a-default-export.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/mutate-an-array-declared-with-const.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/prevent-object-mutation.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/reuse-javascript-code-using-import.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/set-default-parameters-for-your-functions.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use--to-import-everything-from-a-file.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-arrow-functions-to-write-concise-anonymous-functions.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-class-syntax-to-define-a-constructor-function.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-arrays.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-nested-objects.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-extract-values-from-objects.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-with-the-rest-parameter-to-reassign-array-elements.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-export-to-share-a-code-block.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-getters-and-setters-to-control-access-to-an-object.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-the-rest-parameter-with-function-parameters.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-the-spread-operator-to-evaluate-arrays-in-place.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-concise-declarative-functions-with-es6.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-concise-object-literal-declarations-using-object-property-shorthand.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/add-elements-to-the-end-of-an-array-using-concat-instead-of-push.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/apply-functional-programming-to-convert-strings-to-url-slugs.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/avoid-mutations-and-side-effects-using-functional-programming.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/combine-an-array-into-a-string-using-the-join-method.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/combine-two-arrays-using-the-concat-method.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/implement-map-on-a-prototype.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/pass-arguments-to-avoid-external-dependence-in-a-function.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/refactor-global-variables-out-of-functions.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/remove-elements-from-an-array-using-slice-instead-of-splice.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/return-a-sorted-array-without-changing-the-original-array.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/return-part-of-an-array-using-the-slice-method.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/sort-an-array-alphabetically-using-the-sort-method.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/split-a-string-into-an-array-using-the-split-method.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/understand-functional-programming-terminology.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/understand-the-hazards-of-using-imperative-code.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-higher-order-functions-map-filter-or-reduce-to-solve-a-complex-problem.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-the-every-method-to-check-that-every-element-in-an-array-meets-a-criteria.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-the-map-method-to-extract-data-from-an-array.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-the-reduce-method-to-analyze-data.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-the-some-method-to-check-that-any-elements-in-an-array-meet-a-criteria.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/binary-agents.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/convert-html-entities.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/diff-two-arrays.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/dna-pairing.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/drop-it.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/everything-be-true.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/map-the-debris.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/missing-letters.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/pig-latin.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/seek-and-destroy.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/smallest-common-multiple.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/spinal-tap-case.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/steamroller.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-odd-fibonacci-numbers.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-primes.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/wherefore-art-thou.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/caesars-cipher.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/cash-register.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/palindrome-checker.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/telephone-number-validator.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/add-methods-after-inheritance.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/change-the-prototype-to-a-new-object.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/create-a-basic-javascript-object.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/create-a-method-on-an-object.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/define-a-constructor-function.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/extend-constructors-to-receive-arguments.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/inherit-behaviors-from-a-supertype.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/iterate-over-all-properties.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/make-code-more-reusable-with-the-this-keyword.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/override-inherited-methods.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/remember-to-set-the-constructor-property-when-changing-the-prototype.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/reset-an-inherited-constructor-property.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/set-the-childs-prototype-to-an-instance-of-the-parent.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-own-properties.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-constructor-property.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-immediately-invoked-function-expression-iife.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-where-an-objects-prototype-comes-from.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-a-constructor-to-create-objects.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-a-mixin-to-add-common-behavior-between-unrelated-objects.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-an-iife-to-create-a-module.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-closure-to-protect-properties-within-an-object-from-being-modified-externally.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-dot-notation-to-access-the-properties-of-an-object.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-inheritance-so-you-dont-repeat-yourself.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/verify-an-objects-constructor-with-instanceof.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/check-for-all-or-none.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/check-for-mixed-grouping-of-characters.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/extract-matches.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/find-more-than-the-first-match.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/find-one-or-more-criminals-in-a-hunt.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/ignore-case-while-matching.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-a-literal-string-with-different-possibilities.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-all-non-numbers.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-all-numbers.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-anything-with-wildcard-period.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-beginning-string-patterns.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-one-or-more-times.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-characters-that-occur-zero-or-more-times.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-ending-string-patterns.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-everything-but-letters-and-numbers.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-letters-of-the-alphabet.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-literal-strings.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-non-whitespace-characters.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-numbers-and-letters-of-the-alphabet.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-single-character-with-multiple-possibilities.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-single-characters-not-specified.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-whitespace.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/positive-and-negative-lookahead.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/remove-whitespace-from-start-and-end.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/restrict-possible-usernames.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/reuse-patterns-using-capture-groups.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/specify-exact-number-of-matches.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/specify-only-the-lower-number-of-matches.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/specify-upper-and-lower-number-of-matches.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/use-capture-groups-to-search-and-replace.md create mode 100644 curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/using-the-test-method.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/add-elements-within-your-bootstrap-wells.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/add-font-awesome-icons-to-all-of-our-buttons.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/add-font-awesome-icons-to-our-buttons.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/add-id-attributes-to-bootstrap-elements.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/apply-the-default-bootstrap-button-style.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/call-out-optional-actions-with-btn-info.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/center-text-with-bootstrap.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-block-element-bootstrap-button.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-bootstrap-button.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-bootstrap-headline.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-bootstrap-row.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-class-to-target-with-jquery-selectors.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-custom-heading.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-bootstrap-wells.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/ditch-custom-css-for-bootstrap.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/give-each-element-a-unique-id.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/house-our-page-within-a-bootstrap-container-fluid-div.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/label-bootstrap-buttons.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/label-bootstrap-wells.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/line-up-form-elements-responsively-with-bootstrap.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/make-images-mobile-responsive.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/responsively-style-checkboxes.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/responsively-style-radio-buttons.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/split-your-bootstrap-row.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/style-text-inputs-as-form-controls.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/taste-the-bootstrap-button-color-rainbow.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/use-a-span-to-target-inline-elements.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/use-comments-to-clarify-code.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/use-responsive-design-with-bootstrap-fluid-containers.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/use-the-bootstrap-grid-to-put-elements-side-by-side.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/warn-your-users-of-a-dangerous-action-with-btn-danger.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-25-5-clock.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-javascript-calculator.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-markdown-previewer.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-random-quote-machine.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/change-text-inside-an-element-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/change-the-css-of-an-element-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/clone-an-element-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/delete-your-jquery-functions.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/disable-an-element-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/learn-how-script-tags-and-document-ready-work.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/remove-an-element-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/remove-classes-from-an-element-with-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-a-specific-child-of-an-element-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-elements-by-class-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-elements-by-id-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-even-elements-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-html-elements-with-selectors-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-the-children-of-an-element-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-the-parent-of-an-element-using-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-the-same-element-with-multiple-jquery-selectors.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/use-appendto-to-move-elements-with-jquery.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/jquery/use-jquery-to-modify-the-entire-page.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/connect-redux-to-react.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/extract-local-state-into-redux.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/extract-state-logic-to-redux.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/getting-started-with-react-redux.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/manage-state-locally-first.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/map-dispatch-to-props.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/map-state-to-props.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/moving-forward-from-here.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/use-provider-to-connect-redux-to-react.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/access-props-using-this.props.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/add-comments-in-jsx.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/add-event-listeners.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/add-inline-styles-in-react.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/bind-this-to-a-class-method.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/change-inline-css-conditionally-based-on-component-state.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/compose-react-components.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-complex-jsx-element.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-component-with-composition.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-controlled-form.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-controlled-input.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-react-component.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-simple-jsx-element.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-stateful-component.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-stateless-functional-component.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/define-an-html-class-in-jsx.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/give-sibling-elements-a-unique-key-attribute.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/introducing-inline-styles.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/learn-about-self-closing-jsx-tags.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/optimize-re-renders-with-shouldcomponentupdate.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/override-default-props.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/pass-a-callback-as-props.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/pass-an-array-as-props.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/pass-props-to-a-stateless-functional-component.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/pass-state-as-props-to-child-components.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/render-a-class-component-to-the-dom.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/render-conditionally-from-props.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/render-html-elements-to-the-dom.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/render-react-on-the-server-with-rendertostring.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/render-state-in-the-user-interface-another-way.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/render-state-in-the-user-interface.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/render-with-an-if-else-condition.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/review-using-props-with-stateless-functional-components.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/set-state-with-this.setstate.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use--for-a-more-concise-conditional.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-a-ternary-expression-for-conditional-rendering.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-advanced-javascript-in-react-render-method.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-array.filter-to-dynamically-filter-an-array.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-array.map-to-dynamically-render-elements.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-default-props.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-proptypes-to-define-the-props-you-expect.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-react-to-render-nested-components.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-state-to-toggle-an-element.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-the-lifecycle-method-componentdidmount.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/use-the-lifecycle-method-componentwillmount.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/write-a-react-component-from-scratch.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/react/write-a-simple-counter.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/combine-multiple-reducers.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/copy-an-object-with-object.assign.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/create-a-redux-store.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/define-a-redux-action.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/define-an-action-creator.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/dispatch-an-action-event.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/get-state-from-the-redux-store.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/handle-an-action-in-the-store.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/never-mutate-state.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/register-a-store-listener.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/remove-an-item-from-an-array.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/send-action-data-to-the-store.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/use-a-switch-statement-to-handle-multiple-actions.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/use-const-for-action-types.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/use-middleware-to-handle-asynchronous-actions.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/use-the-spread-operator-on-arrays.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/redux/write-a-counter-with-redux.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/sass/apply-a-style-until-a-condition-is-met-with-while.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/sass/create-reusable-css-with-mixins.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/sass/extend-one-set-of-css-styles-to-another-element.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/sass/nest-css-with-sass.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/sass/split-your-styles-into-smaller-chunks-with-partials.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/sass/store-data-with-sass-variables.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-each-to-map-over-items-in-a-list.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-for-to-create-a-sass-loop.md create mode 100644 curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-if-and-else-to-add-logic-to-your-styles.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-projects/visualize-data-with-a-bar-chart.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-projects/visualize-data-with-a-choropleth-map.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-projects/visualize-data-with-a-heat-map.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-projects/visualize-data-with-a-scatterplot-graph.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/add-a-hover-effect-to-a-d3-element.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/add-a-tooltip-to-a-d3-element.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/add-attributes-to-the-circle-elements.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/add-axes-to-a-visualization.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/add-classes-with-d3.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/add-document-elements-with-d3.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/add-inline-styling-to-elements.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/add-labels-to-d3-elements.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/add-labels-to-scatter-plot-circles.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/change-styles-based-on-data.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/change-the-color-of-an-svg-element.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/change-the-presentation-of-a-bar-chart.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/create-a-bar-for-each-data-point-in-the-set.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/create-a-linear-scale-with-d3.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/create-a-scatterplot-with-svg-circles.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/display-shapes-with-svg.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/dynamically-change-the-height-of-each-bar.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/dynamically-set-the-coordinates-for-each-bar.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/invert-svg-elements.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/learn-about-svg-in-d3.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/select-a-group-of-elements-with-d3.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/set-a-domain-and-a-range-on-a-scale.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/style-d3-labels.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/update-the-height-of-an-element-dynamically.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/use-a-pre-defined-scale-to-place-elements.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/use-dynamic-scales.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/use-the-d3.max-and-d3.min-functions-to-find-minimum-and-maximum-values-in-a-dataset.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/work-with-data-in-d3.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/data-visualization-with-d3/work-with-dynamic-data-in-d3.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/access-the-json-data-from-an-api.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/change-text-with-click-events.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/convert-json-data-to-html.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/get-geolocation-data-to-find-a-users-gps-coordinates.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/get-json-with-the-javascript-fetch-method.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/get-json-with-the-javascript-xmlhttprequest-method.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/handle-click-events-with-javascript-using-the-onclick-property.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/post-data-with-the-javascript-xmlhttprequest-method.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/pre-filter-json-to-get-the-data-you-need.md create mode 100644 curriculum/challenges/arabic/04-data-visualization/json-apis-and-ajax/render-images-from-data-sources.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/back-end-development-and-apis-projects/exercise-tracker.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/back-end-development-and-apis-projects/file-metadata-microservice.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/back-end-development-and-apis-projects/request-header-parser-microservice.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/back-end-development-and-apis-projects/timestamp-microservice.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/back-end-development-and-apis-projects/url-shortener-microservice.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/chain-middleware-to-create-a-time-server.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/get-data-from-post-requests.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/get-query-parameter-input-from-the-client.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/get-route-parameter-input-from-the-client.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/implement-a-root-level-request-logger-middleware.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/meet-the-node-console.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-an-html-file.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-json-on-a-specific-route.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/serve-static-assets.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/start-a-working-express-server.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/use-body-parser-to-parse-post-requests.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/basic-node-and-express/use-the-.env-file.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/add-a-description-to-your-package.json.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/add-a-license-to-your-package.json.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/add-a-version-to-your-package.json.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/add-keywords-to-your-package.json.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/expand-your-project-with-external-packages-from-npm.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/how-to-use-package.json-the-core-of-any-node.js-project-or-npm-package.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/manage-npm-dependencies-by-understanding-semantic-versioning.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/remove-a-package-from-your-dependencies.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/use-the-caret-character-to-use-the-latest-minor-version-of-a-dependency.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/use-the-tilde-character-to-always-use-the-latest-patch-version-of-a-dependency.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/chain-search-query-helpers-to-narrow-search-results.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/create-a-model.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/create-and-save-a-record-of-a-model.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/create-many-records-with-model.create.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/delete-many-documents-with-model.remove.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/delete-one-document-using-model.findbyidandremove.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/install-and-set-up-mongoose.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/perform-classic-updates-by-running-find-edit-then-save.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/perform-new-updates-on-a-document-using-model.findoneandupdate.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/use-model.find-to-search-your-database.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/use-model.findbyid-to-search-your-database-by-id.md create mode 100644 curriculum/challenges/arabic/05-back-end-development-and-apis/mongodb-and-mongoose/use-model.findone-to-return-a-single-matching-document-from-your-database.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/announce-new-users.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/authentication-strategies.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/authentication-with-socket.io.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/clean-up-your-project-with-modules.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/communicate-by-emitting.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/create-new-middleware.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/handle-a-disconnect.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/hashing-your-passwords.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/how-to-use-passport-strategies.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/implementation-of-social-authentication-ii.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/implementation-of-social-authentication-iii.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/implementation-of-social-authentication.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/logging-a-user-out.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/registration-of-new-users.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/send-and-display-chat-messages.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/set-up-passport.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/set-up-the-environment.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/advanced-node-and-express/use-a-template-engines-powers.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/assert-deep-equality-with-.deepequal-and-.notdeepequal.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/compare-the-properties-of-two-elements.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/learn-how-javascript-assertions-work.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iii---put-method.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-an-api-response-using-chai-http-iv---put-method.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http-ii.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-on-api-endpoints-using-chai-http.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser-ii.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/run-functional-tests-using-a-headless-browser.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/simulate-actions-using-a-headless-browser.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-for-truthiness.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-string-contains-a-substring.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-falls-within-a-specific-range.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-a-string.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-an-array.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-value-is-of-a-specific-data-structure-type.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-a-variable-or-function-is-defined.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-array-contains-an-item.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-has-a-property.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-an-object-is-an-instance-of-a-constructor.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/test-if-one-value-is-below-or-at-least-as-large-as-another.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/use-assert.isok-and-assert.isnotok.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/use-regular-expressions-to-test-a-string.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/use-the-double-equals-to-assert-equality.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-and-testing-with-chai/use-the-triple-equals-to-assert-strict-equality.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-projects/american-british-translator.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-projects/issue-tracker.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-projects/metric-imperial-converter.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-projects/personal-library.md create mode 100644 curriculum/challenges/arabic/06-quality-assurance/quality-assurance-projects/sudoku-solver.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/build-your-own-functions.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/comparing-and-sorting-tuples.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/conditional-execution.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/data-visualization-mailing-lists.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/data-visualization-page-rank.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/dictionaries-and-loops.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/dictionaries-common-applications.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/files-as-a-sequence.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/intermediate-expressions.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/intermediate-strings.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/introduction-elements-of-python.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/introduction-hardware-achitecture.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/introduction-python-as-a-language.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/introduction-why-program.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/iterations-definite-loops.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/iterations-loop-idioms.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/iterations-more-patterns.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/loops-and-iterations.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/make-a-relational-database.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/more-conditional-structures.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/networking-protocol.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/networking-text-processing.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/networking-using-urllib-in-python.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/networking-web-scraping-with-python.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/networking-with-python.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/networking-write-a-web-browser.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/object-lifecycle.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/objects-a-sample-class.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/objects-inheritance.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/python-dictionaries.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/python-functions.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/python-lists.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/python-objects.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/reading-files.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/regular-expressions-matching-and-extracting-data.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/regular-expressions-practical-applications.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/regular-expressions.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/relational-database-design.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/relational-databases-and-sqlite.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/relational-databases-join-operation.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/relational-databases-many-to-many-relationships.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/relational-databases-relationship-building.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/representing-relationships-in-a-relational-database.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/strings-and-lists.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/strings-in-python.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/the-tuples-collection.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/using-web-services.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/variables-expressions-and-statements.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/visualizing-data-with-python.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/web-services-api-rate-limiting-and-security.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/web-services-apis.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/web-services-json.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/web-services-service-oriented-approach.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/web-services-xml-schema.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/web-services-xml.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/python-for-everybody/working-with-lists.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/scientific-computing-with-python-projects/arithmetic-formatter.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/scientific-computing-with-python-projects/budget-app.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/scientific-computing-with-python-projects/polygon-area-calculator.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/scientific-computing-with-python-projects/probability-calculator.md create mode 100644 curriculum/challenges/arabic/07-scientific-computing-with-python/scientific-computing-with-python-projects/time-calculator.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-a.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/data-analysis-example-b.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-and-visualizations.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-duplicates.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-introduction.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/data-cleaning-with-dataframes.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/how-to-use-jupyter-notebooks-intro.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/introduction-to-data-analysis.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-cells.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/jupyter-notebooks-importing-and-exporting-data.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-algebra-and-size.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-arrays.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-boolean-arrays.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-b.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-operations.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/pandas-conditional-selection-and-modifying-dataframes.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/pandas-dataframes.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/pandas-indexing-and-conditional-selection.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/pandas-introduction.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/parsing-html-and-saving-data.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/python-introduction.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/python-iteration-and-modules.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-csv-and-txt.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-from-databases.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/demographic-data-analyzer.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/mean-variance-standard-deviation-calculator.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/medical-data-visualizer.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/page-view-time-series-visualizer.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/numpy/accessing-and-changing-elements,-rows,-columns.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/numpy/basics-of-numpy.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/numpy/copying-arrays-warning.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/numpy/initialize-array-problem.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/numpy/initializing-different-arrays.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/numpy/loading-data-and-advanced-indexing.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/numpy/mathematics.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/numpy/reorganizing-arrays.md create mode 100644 curriculum/challenges/arabic/08-data-analysis-with-python/numpy/what-is-numpy.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-projects/anonymous-message-board.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-projects/port-scanner.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-projects/secure-real-time-multiplayer-game.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-projects/sha-1-password-cracker.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-projects/stock-price-checker.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/ask-browsers-to-access-your-site-via-https-only-with-helmet.hsts.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/avoid-inferring-the-response-mime-type-with-helmet.nosniff.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/configure-helmet-using-the-parent-helmet-middleware.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/disable-client-side-caching-with-helmet.nocache.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/disable-dns-prefetching-with-helmet.dnsprefetchcontrol.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-asynchronously.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/hash-and-compare-passwords-synchronously.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/hide-potentially-dangerous-information-using-helmet.hidepoweredby.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/mitigate-the-risk-of-clickjacking-with-helmet.frameguard.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/mitigate-the-risk-of-cross-site-scripting-xss-attacks-with-helmet.xssfilter.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/prevent-ie-from-opening-untrusted-html-with-helmet.ienoopen.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/set-a-content-security-policy-with-helmet.contentsecuritypolicy.md create mode 100644 curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/understand-bcrypt-hashes.md create mode 100644 curriculum/challenges/arabic/09-information-security/python-for-penetration-testing/creating-a-tcp-client.md create mode 100644 curriculum/challenges/arabic/09-information-security/python-for-penetration-testing/developing-a-banner-grabber.md create mode 100644 curriculum/challenges/arabic/09-information-security/python-for-penetration-testing/developing-a-port-scanner.md create mode 100644 curriculum/challenges/arabic/09-information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-1.md create mode 100644 curriculum/challenges/arabic/09-information-security/python-for-penetration-testing/developing-an-nmap-scanner-part-2.md create mode 100644 curriculum/challenges/arabic/09-information-security/python-for-penetration-testing/introduction-and-setup.md create mode 100644 curriculum/challenges/arabic/09-information-security/python-for-penetration-testing/understanding-sockets-and-creating-a-tcp-server.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/find-the-symmetric-difference.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/implement-binary-search.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/implement-bubble-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/implement-insertion-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/implement-merge-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/implement-quick-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/implement-selection-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/inventory-update.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/no-repeats-please.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/algorithms/pairwise.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/add-a-new-element-to-a-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/add-elements-at-a-specific-index-in-a-linked-list.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/adjacency-list.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/adjacency-matrix.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/breadth-first-search.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/check-if-an-element-is-present-in-a-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/check-if-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-circular-queue.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-doubly-linked-list.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-hash-table.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-linked-list-class.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-map-data-structure.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-priority-queue-class.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-queue-class.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-set-class.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-stack-class.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-a-trie-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-an-es6-javascript-map.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/create-and-add-to-sets-in-es6.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/delete-a-leaf-node-in-a-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/delete-a-node-with-one-child-in-a-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/delete-a-node-with-two-children-in-a-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/depth-first-search.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/find-the-minimum-and-maximum-height-of-a-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/find-the-minimum-and-maximum-value-in-a-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/implement-heap-sort-with-a-min-heap.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/incidence-matrix.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/insert-an-element-into-a-max-heap.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/invert-a-binary-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/learn-how-a-stack-works.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/perform-a-difference-on-two-sets-of-data.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/perform-a-union-on-two-sets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/perform-an-intersection-on-two-sets-of-data.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/remove-an-element-from-a-max-heap.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/remove-elements-from-a-linked-list-by-index.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/remove-elements-from-a-linked-list.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/remove-items-from-a-set-in-es6.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/reverse-a-doubly-linked-list.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/search-within-a-linked-list.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/typed-arrays.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/use-.has-and-.size-on-an-es6-set.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/use-breadth-first-search-in-a-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/use-depth-first-search-in-a-binary-search-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/use-spread-and-notes-for-es5-set-integration.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/data-structures/work-with-nodes-in-a-linked-list.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-1-multiples-of-3-and-5.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-10-summation-of-primes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-100-arranged-probability.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-101-optimum-polynomial.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-102-triangle-containment.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-103-special-subset-sums-optimum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-104-pandigital-fibonacci-ends.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-105-special-subset-sums-testing.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-106-special-subset-sums-meta-testing.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-107-minimal-network.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-108-diophantine-reciprocals-i.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-109-darts.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-11-largest-product-in-a-grid.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-110-diophantine-reciprocals-ii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-111-primes-with-runs.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-112-bouncy-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-113-non-bouncy-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-114-counting-block-combinations-i.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-115-counting-block-combinations-ii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-116-red-green-or-blue-tiles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-117-red-green-and-blue-tiles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-118-pandigital-prime-sets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-119-digit-power-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-12-highly-divisible-triangular-number.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-120-square-remainders.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-121-disc-game-prize-fund.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-122-efficient-exponentiation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-123-prime-square-remainders.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-124-ordered-radicals.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-125-palindromic-sums.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-126-cuboid-layers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-127-abc-hits.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-128-hexagonal-tile-differences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-129-repunit-divisibility.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-13-large-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-130-composites-with-prime-repunit-property.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-131-prime-cube-partnership.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-132-large-repunit-factors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-133-repunit-nonfactors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-134-prime-pair-connection.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-135-same-differences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-136-singleton-difference.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-137-fibonacci-golden-nuggets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-138-special-isosceles-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-139-pythagorean-tiles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-14-longest-collatz-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-140-modified-fibonacci-golden-nuggets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-141-investigating-progressive-numbers-n-which-are-also-square.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-142-perfect-square-collection.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-143-investigating-the-torricelli-point-of-a-triangle.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-144-investigating-multiple-reflections-of-a-laser-beam.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-145-how-many-reversible-numbers-are-there-below-one-billion.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-146-investigating-a-prime-pattern.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-147-rectangles-in-cross-hatched-grids.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-148-exploring-pascals-triangle.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-149-searching-for-a-maximum-sum-subsequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-15-lattice-paths.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-150-searching-a-triangular-array-for-a-sub-triangle-having-minimum-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-151-paper-sheets-of-standard-sizes-an-expected-value-problem.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-152-writing-one-half-as-a-sum-of-inverse-squares.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-153-investigating-gaussian-integers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-154-exploring-pascals-pyramid.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-155-counting-capacitor-circuits.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-156-counting-digits.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-157-solving-the-diophantine-equation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-158-exploring-strings-for-which-only-one-character-comes-lexicographically-after-its-neighbour-to-the-left.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-159-digital-root-sums-of-factorisations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-16-power-digit-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-160-factorial-trailing-digits.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-161-triominoes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-162-hexadecimal-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-163-cross-hatched-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-164-numbers-for-which-no-three-consecutive-digits-have-a-sum-greater-than-a-given-value.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-165-intersections.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-166-criss-cross.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-167-investigating-ulam-sequences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-168-number-rotations.md create mode 100644 curriculum/challenges/arabic/10-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.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-17-number-letter-counts.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-170-find-the-largest-0-to-9-pandigital-that-can-be-formed-by-concatenating-products.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-171-finding-numbers-for-which-the-sum-of-the-squares-of-the-digits-is-a-square.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-172-investigating-numbers-with-few-repeated-digits.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-174-counting-the-number-of-hollow-square-laminae-that-can-form-one-two-three-...-distinct-arrangements.md create mode 100644 curriculum/challenges/arabic/10-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.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-176-right-angled-triangles-that-share-a-cathetus.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-177-integer-angled-quadrilaterals.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-178-step-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-179-consecutive-positive-divisors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-18-maximum-path-sum-i.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-180-rational-zeros-of-a-function-of-three-variables.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-181-investigating-in-how-many-ways-objects-of-two-different-colours-can-be-grouped.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-182-rsa-encryption.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-183-maximum-product-of-parts.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-184-triangles-containing-the-origin.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-185-number-mind.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-186-connectedness-of-a-network.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-187-semiprimes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-188-the-hyperexponentiation-of-a-number.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-189-tri-colouring-a-triangular-grid.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-19-counting-sundays.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-190-maximising-a-weighted-product.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-191-prize-strings.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-192-best-approximations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-193-squarefree-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-194-coloured-configurations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-195-inscribed-circles-of-triangles-with-one-angle-of-60-degrees.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-196-prime-triplets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-197-investigating-the-behaviour-of-a-recursively-defined-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-198-ambiguous-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-199-iterative-circle-packing.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-2-even-fibonacci-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-20-factorial-digit-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-200-find-the-200th-prime-proof-sqube-containing-the-contiguous-sub-string-200.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-201-subsets-with-a-unique-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-202-laserbeam.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-203-squarefree-binomial-coefficients.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-204-generalised-hamming-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-205-dice-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-206-concealed-square.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-207-integer-partition-equations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-208-robot-walks.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-209-circular-logic.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-21-amicable-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-210-obtuse-angled-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-211-divisor-square-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-212-combined-volume-of-cuboids.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-213-flea-circus.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-214-totient-chains.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-215-crack-free-walls.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-216-investigating-the-primality-of-numbers-of-the-form-2n2-1.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-217-balanced-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-218-perfect-right-angled-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-219-skew-cost-coding.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-22-names-scores.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-220-heighway-dragon.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-221-alexandrian-integers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-222-sphere-packing.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-223-almost-right-angled-triangles-i.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-224-almost-right-angled-triangles-ii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-225-tribonacci-non-divisors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-226-a-scoop-of-blancmange.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-227-the-chase.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-228-minkowski-sums.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-229-four-representations-using-squares.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-23-non-abundant-sums.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-230-fibonacci-words.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-231-the-prime-factorisation-of-binomial-coefficients.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-232-the-race.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-233-lattice-points-on-a-circle.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-234-semidivisible-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-235-an-arithmetic-geometric-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-236-luxury-hampers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-237-tours-on-a-4-x-n-playing-board.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-238-infinite-string-tour.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-239-twenty-two-foolish-primes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-24-lexicographic-permutations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-240-top-dice.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-241-perfection-quotients.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-242-odd-triplets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-243-resilience.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-244-sliders.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-245-coresilience.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-246-tangents-to-an-ellipse.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-247-squares-under-a-hyperbola.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-248-numbers-for-which-eulers-totient-function-equals-13.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-249-prime-subset-sums.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-25-1000-digit-fibonacci-number.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-250-250250.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-251-cardano-triplets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-252-convex-holes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-253-tidying-up.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-254-sums-of-digit-factorials.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-255-rounded-square-roots.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-256-tatami-free-rooms.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-257-angular-bisectors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-258-a-lagged-fibonacci-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-259-reachable-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-26-reciprocal-cycles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-260-stone-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-261-pivotal-square-sums.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-262-mountain-range.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-263-an-engineers-dream-come-true.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-264-triangle-centres.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-265-binary-circles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-266-pseudo-square-root.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-267-billionaire.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-269-polynomials-with-at-least-one-integer-root.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-27-quadratic-primes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-270-cutting-squares.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-271-modular-cubes-part-1.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-272-modular-cubes-part-2.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-273-sum-of-squares.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-274-divisibility-multipliers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-275-balanced-sculptures.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-276-primitive-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-277-a-modified-collatz-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-278-linear-combinations-of-semiprimes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-279-triangles-with-integral-sides-and-an-integral-angle.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-28-number-spiral-diagonals.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-280-ant-and-seeds.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-281-pizza-toppings.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-282-the-ackermann-function.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-283-integer-sided-triangles-for-which-the-area--perimeter-ratio-is-integral.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-284-steady-squares.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-285-pythagorean-odds.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-286-scoring-probabilities.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-287-quadtree-encoding-a-simple-compression-algorithm.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-288-an-enormous-factorial.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-289-eulerian-cycles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-29-distinct-powers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-290-digital-signature.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-291-panaitopol-primes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-292-pythagorean-polygons.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-293-pseudo-fortunate-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-294-sum-of-digits---experience-23.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-295-lenticular-holes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-296-angular-bisector-and-tangent.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-297-zeckendorf-representation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-298-selective-amnesia.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-299-three-similar-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-3-largest-prime-factor.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-30-digit-n-powers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-300-protein-folding.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-301-nim.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-302-strong-achilles-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-303-multiples-with-small-digits.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-304-primonacci.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-305-reflexive-position.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-306-paper-strip-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-307-chip-defects.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-308-an-amazing-prime-generating-automaton.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-309-integer-ladders.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-31-coin-sums.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-310-nim-square.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-311-biclinic-integral-quadrilaterals.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-312-cyclic-paths-on-sierpiski-graphs.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-313-sliding-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-314-the-mouse-on-the-moon.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-315-digital-root-clocks.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-316-numbers-in-decimal-expansions.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-317-firecracker.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-318-2011-nines.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-319-bounded-sequences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-32-pandigital-products.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-320-factorials-divisible-by-a-huge-integer.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-321-swapping-counters.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-322-binomial-coefficients-divisible-by-10.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-323-bitwise-or-operations-on-random-integers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-324-building-a-tower.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-325-stone-game-ii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-326-modulo-summations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-327-rooms-of-doom.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-328-lowest-cost-search.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-329-prime-frog.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-33-digit-cancelling-fractions.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-330-eulers-number.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-331-cross-flips.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-332-spherical-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-333-special-partitions.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-334-spilling-the-beans.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-335-gathering-the-beans.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-336-maximix-arrangements.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-337-totient-stairstep-sequences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-338-cutting-rectangular-grid-paper.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-339-peredur-fab-efrawg.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-34-digit-factorials.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-340-crazy-function.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-341-golombs-self-describing-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-342-the-totient-of-a-square-is-a-cube.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-343-fractional-sequences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-344-silver-dollar-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-345-matrix-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-346-strong-repunits.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-347-largest-integer-divisible-by-two-primes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-348-sum-of-a-square-and-a-cube.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-349-langtons-ant.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-35-circular-primes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-350-constraining-the-least-greatest-and-the-greatest-least.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-351-hexagonal-orchards.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-352-blood-tests.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-353-risky-moon.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-354-distances-in-a-bees-honeycomb.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-355-maximal-coprime-subset.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-356-largest-roots-of-cubic-polynomials.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-357-prime-generating-integers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-358-cyclic-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-359-hilberts-new-hotel.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-36-double-base-palindromes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-360-scary-sphere.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-361-subsequence-of-thue-morse-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-362-squarefree-factors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-363-bzier-curves.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-364-comfortable-distance.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-365-a-huge-binomial-coefficient.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-366-stone-game-iii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-367-bozo-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-368-a-kempner-like-series.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-369-badugi.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-37-truncatable-primes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-370-geometric-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-371-licence-plates.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-372-pencils-of-rays.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-373-circumscribed-circles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-374-maximum-integer-partition-product.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-375-minimum-of-subsequences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-376-nontransitive-sets-of-dice.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-377-sum-of-digits-experience-13.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-378-triangle-triples.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-379-least-common-multiple-count.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-38-pandigital-multiples.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-380-amazing-mazes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-381-prime-k-factorial.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-382-generating-polygons.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-383-divisibility-comparison-between-factorials.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-384-rudin-shapiro-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-385-ellipses-inside-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-386-maximum-length-of-an-antichain.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-387-harshad-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-388-distinct-lines.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-389-platonic-dice.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-39-integer-right-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-390-triangles-with-non-rational-sides-and-integral-area.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-391-hopping-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-392-enmeshed-unit-circle.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-393-migrating-ants.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-394-eating-pie.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-395-pythagorean-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-396-weak-goodstein-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-397-triangle-on-parabola.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-398-cutting-rope.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-399-squarefree-fibonacci-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-4-largest-palindrome-product.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-40-champernownes-constant.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-400-fibonacci-tree-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-401-sum-of-squares-of-divisors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-402-integer-valued-polynomials.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-403-lattice-points-enclosed-by-parabola-and-line.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-404-crisscross-ellipses.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-405-a-rectangular-tiling.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-406-guessing-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-407-idempotents.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-408-admissible-paths-through-a-grid.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-409-nim-extreme.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-41-pandigital-prime.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-410-circle-and-tangent-line.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-411-uphill-paths.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-412-gnomon-numbering.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-413-one-child-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-414-kaprekar-constant.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-415-titanic-sets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-416-a-frogs-trip.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-417-reciprocal-cycles-ii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-418-factorisation-triples.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-419-look-and-say-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-42-coded-triangle-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-420-2x2-positive-integer-matrix.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-421-prime-factors-of-n151.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-422-sequence-of-points-on-a-hyperbola.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-423-consecutive-die-throws.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-424-kakuro.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-425-prime-connection.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-426-box-ball-system.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-427-n-sequences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-428-necklace-of-circles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-429-sum-of-squares-of-unitary-divisors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-43-sub-string-divisibility.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-430-range-flips.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-431-square-space-silo.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-432-totient-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-433-steps-in-euclids-algorithm.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-434-rigid-graphs.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-435-polynomials-of-fibonacci-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-436-unfair-wager.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-437-fibonacci-primitive-roots.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-438-integer-part-of-polynomial-equations-solutions.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-439-sum-of-sum-of-divisors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-44-pentagon-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-440-gcd-and-tiling.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-441-the-inverse-summation-of-coprime-couples.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-442-eleven-free-integers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-443-gcd-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-444-the-roundtable-lottery.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-445-retractions-a.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-446-retractions-b.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-447-retractions-c.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-448-average-least-common-multiple.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-449-chocolate-covered-candy.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-45-triangular-pentagonal-and-hexagonal.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-450-hypocycloid-and-lattice-points.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-451-modular-inverses.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-452-long-products.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-453-lattice-quadrilaterals.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-454-diophantine-reciprocals-iii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-455-powers-with-trailing-digits.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-456-triangles-containing-the-origin-ii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-457-a-polynomial-modulo-the-square-of-a-prime.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-458-permutations-of-project.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-459-flipping-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-46-goldbachs-other-conjecture.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-460-an-ant-on-the-move.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-461-almost-pi.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-462-permutation-of-3-smooth-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-463-a-weird-recurrence-relation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-464-mbius-function-and-intervals.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-465-polar-polygons.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-466-distinct-terms-in-a-multiplication-table.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-467-superinteger.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-468-smooth-divisors-of-binomial-coefficients.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-469-empty-chairs.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-47-distinct-primes-factors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-470-super-ramvok.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-471-triangle-inscribed-in-ellipse.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-472-comfortable-distance-ii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-473-phigital-number-base.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-474-last-digits-of-divisors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-475-music-festival.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-476-circle-packing-ii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-477-number-sequence-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-478-mixtures.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-479-roots-on-the-rise.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-48-self-powers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-480-the-last-question.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-49-prime-permutations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-5-smallest-multiple.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-50-consecutive-prime-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-51-prime-digit-replacements.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-52-permuted-multiples.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-53-combinatoric-selections.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-54-poker-hands.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-55-lychrel-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-56-powerful-digit-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-57-square-root-convergents.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-58-spiral-primes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-59-xor-decryption.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-6-sum-square-difference.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-60-prime-pair-sets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-61-cyclical-figurate-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-62-cubic-permutations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-63-powerful-digit-counts.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-64-odd-period-square-roots.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-65-convergents-of-e.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-66-diophantine-equation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-67-maximum-path-sum-ii.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-68-magic-5-gon-ring.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-69-totient-maximum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-7-10001st-prime.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-70-totient-permutation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-71-ordered-fractions.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-72-counting-fractions.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-73-counting-fractions-in-a-range.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-74-digit-factorial-chains.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-75-singular-integer-right-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-76-counting-summations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-77-prime-summations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-78-coin-partitions.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-79-passcode-derivation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-8-largest-product-in-a-series.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-80-square-root-digital-expansion.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-81-path-sum-two-ways.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-82-path-sum-three-ways.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-83-path-sum-four-ways.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-84-monopoly-odds.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-85-counting-rectangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-86-cuboid-route.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-87-prime-power-triples.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-88-product-sum-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-89-roman-numerals.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-9-special-pythagorean-triplet.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-90-cube-digit-pairs.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-91-right-triangles-with-integer-coordinates.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-92-square-digit-chains.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-93-arithmetic-expressions.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-94-almost-equilateral-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-95-amicable-chains.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-96-su-doku.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-97-large-non-mersenne-prime.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-98-anagramic-squares.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/project-euler/problem-99-largest-exponential.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/100-doors.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/24-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/9-billion-names-of-god-the-integer.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/abc-problem.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/abundant-deficient-and-perfect-number-classifications.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/accumulator-factory.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/ackermann-function.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/align-columns.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/amicable-pairs.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/averages-mode.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/averages-pythagorean-means.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/averages-root-mean-square.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/babbage-problem.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/balanced-brackets.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/circles-of-given-radius-through-two-points.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/closest-pair-problem.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/combinations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/comma-quibbling.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/compare-a-list-of-strings.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/convert-seconds-to-compound-duration.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/count-occurrences-of-a-substring.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/count-the-coins.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/cramers-rule.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/cumulative-standard-deviation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/cusip.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/cut-a-rectangle.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/date-format.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/date-manipulation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/day-of-the-week.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/deal-cards-for-freecell.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/deepcopy.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/define-a-primitive-data-type.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/department-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/discordian-date.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/dot-product.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/element-wise-operations.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/emirp-primes.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/entropy.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/equilibrium-index.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/ethiopian-multiplication.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/euler-method.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/evaluate-binomial-coefficients.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/execute-a-markov-algorithm.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/execute-brain.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/extensible-prime-generator.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/factorial.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/factors-of-a-mersenne-number.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/factors-of-an-integer.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/farey-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/fibonacci-n-step-number-sequences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/fibonacci-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/fibonacci-word.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/fizzbuzz.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/fractran.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/gamma-function.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/gaussian-elimination.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/general-fizzbuzz.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/generate-lower-case-ascii-alphabet.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/generator-exponential.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/gray-code.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/greatest-common-divisor.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/greatest-subsequential-sum.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/hailstone-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/happy-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/harshad-or-niven-series.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/hash-from-two-arrays.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/hash-join.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/heronian-triangles.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/hofstadter-figure-figure-sequences.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/hofstadter-q-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/i-before-e-except-after-c.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/iban.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/identity-matrix.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/iterated-digits-squaring.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/jaro-distance.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/jortsort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/josephus-problem.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/k-d-tree.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/kaprekar-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/knapsack-problem-0-1.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/knapsack-problem-bounded.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/knapsack-problem-continuous.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/knapsack-problem-unbounded.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/knights-tour.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/largest-int-from-concatenated-ints.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/last-friday-of-each-month.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/last-letter-first-letter.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/leap-year.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/least-common-multiple.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/left-factorials.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/letter-frequency.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/levenshtein-distance.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/linear-congruential-generator.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/long-multiplication.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/longest-common-subsequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/longest-increasing-subsequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/longest-string-challenge.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/look-and-say-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/loop-over-multiple-arrays-simultaneously.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/lu-decomposition.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/lucas-lehmer-test.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/ludic-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/luhn-test-of-credit-card-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/lychrel-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/lzw-compression.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/s-expressions.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sailors-coconuts-and-a-monkey-problem.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/search-a-list-of-records.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sedols.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/self-describing-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/self-referential-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/semiprime.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/set-consolidation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/set-of-real-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sha-1.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sha-256.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sort-an-array-of-composite-structures.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sort-disjoint-sublist.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sort-stability.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sort-using-a-custom-comparator.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-bead-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-bogosort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-cocktail-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-comb-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-gnome-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-pancake-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-permutation-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-shell-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-stooge-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sorting-algorithms-strand-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/soundex.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/spiral-matrix.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/split-a-character-string-based-on-change-of-character.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/state-name-puzzle.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/stern-brocot-sequence.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/straddling-checkerboard.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/stream-merge.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/strip-control-codes-and-extended-characters-from-a-string.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/subleq.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sudoku.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sum-digits-of-an-integer.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sum-multiples-of-3-and-5.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sum-of-a-series.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sum-of-squares.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sum-to-100.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/sutherland-hodgman-polygon-clipping.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/symmetric-difference.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/taxicab-numbers.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/tokenize-a-string-with-escaping.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/top-rank-per-group.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/topological-sort.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/towers-of-hanoi.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/vector-cross-product.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/vector-dot-product.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/word-frequency.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/word-wrap.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/y-combinator.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/zeckendorf-number-representation.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/zhang-suen-thinning-algorithm.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/rosetta-code/zig-zag-matrix.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-camper-leaderboard.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-light-bright-app.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-nightlife-coordination-app.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-pinterest-clone.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-pong-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-recipe-box.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-roguelike-dungeon-crawler-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-simon-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-tic-tac-toe-game.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-voting-app.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-a-wikipedia-viewer.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-an-image-search-abstraction-layer.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/build-the-game-of-life.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/chart-the-stock-market.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/manage-a-book-trading-club.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/map-data-across-the-globe.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/p2p-video-chat-application.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/show-national-contiguity-with-a-force-directed-graph.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/show-the-local-weather.md create mode 100644 curriculum/challenges/arabic/10-coding-interview-prep/take-home-projects/use-the-twitch-json-api.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/how-neural-networks-work/deep-learning-demystified.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/how-neural-networks-work/how-convolutional-neural-networks-work.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/how-neural-networks-work/how-deep-neural-networks-work.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/how-neural-networks-work/recurrent-neural-networks-rnn-and-long-short-term-memory-lstm.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/machine-learning-with-python-projects/book-recommendation-engine-using-knn.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/machine-learning-with-python-projects/cat-and-dog-image-classifier.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/machine-learning-with-python-projects/linear-regression-health-costs-calculator.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/machine-learning-with-python-projects/neural-network-sms-text-classifier.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/machine-learning-with-python-projects/rock-paper-scissors.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/conclusion.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/convolutional-neural-networks-evaluating-the-model.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/convolutional-neural-networks-picking-a-pretrained-model.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/convolutional-neural-networks-the-convolutional-layer.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/convolutional-neural-networks.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/core-learning-algorithms-building-the-model.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/core-learning-algorithms-classification.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/core-learning-algorithms-clustering.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/core-learning-algorithms-hidden-markov-models.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/core-learning-algorithms-the-training-process.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/core-learning-algorithms-training-and-testing-data.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/core-learning-algorithms-using-probabilities-to-make-predictions.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/core-learning-algorithms-working-with-data.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/core-learning-algorithms.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/creating-a-convolutional-neural-network.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/introduction-machine-learning-fundamentals.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/introduction-to-tensorflow.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-building-the-model.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-create-a-play-generator.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-making-predictions.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-part-2.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-recurring-neural-networks.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-sentimental-analysis.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/natural-language-processing-with-rnns-training-the-model.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/natural-language-processing-with-rnns.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/neural-networks-activation-functions.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/neural-networks-creating-a-model.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/neural-networks-optimizers.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/neural-networks-with-tensorflow.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-example.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning-part-2.md create mode 100644 curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/reinforcement-learning-with-q-learning.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/build-a-celestial-bodies-database-project/build-a-celestial-bodies-database.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/build-a-number-guessing-game-project/build-a-number-guessing-game.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/build-a-periodic-table-database-project/build-a-periodic-table-database.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/build-a-salon-appointment-scheduler-project/build-a-salon-appointment-scheduler.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/build-a-world-cup-database-project/build-a-world-cup-database.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/learn-advanced-bash-by-building-a-kitty-ipsum-translator/build-a-kitty-ipsum-translator.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/learn-bash-and-sql-by-building-a-bike-rental-shop/build-a-bike-rental-shop.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/learn-bash-by-building-a-boilerplate/build-a-boilerplate.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/learn-bash-scripting-by-building-five-programs/build-five-programs.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/learn-git-by-building-an-sql-reference-object/build-an-sql-reference-object.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/learn-nano-by-building-a-castle/build-a-castle.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/learn-relational-databases-by-building-a-mario-database/build-a-mario-database.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/learn-sql-by-building-a-student-database-part-1/build-a-student-database-part-1.md create mode 100644 curriculum/challenges/arabic/13-relational-databases/learn-sql-by-building-a-student-database-part-2/build-a-student-database-part-2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/build-a-personal-portfolio-webpage-project/build-a-personal-portfolio-webpage.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/build-a-product-landing-page-project/build-a-product-landing-page.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/build-a-survey-form-project/build-a-survey-form.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/build-a-technical-documentation-page-project/build-a-technical-documentation-page.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/build-a-tribute-page-project/build-a-tribute-page.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140827cff96e906bd38fc2b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140883f74224508174794c0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408f155e798909b6908712.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614090d5a22b6f0a5a6b464c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fabd6f75610664e908fd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fed65b61320743da5894.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614202874ca576084fca625f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614206033d366c090ca7dd42.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143610161323a081b249c19.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143639d5eddc7094161648c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143908b6aafb00a659ca189.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143920c8eafb00b735746ce.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143931a113bb80c45546287.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614394fb41985e0d2012a93e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143956ed76ed60e012faa51.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614396f7ae83f20ea6f9f4b3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143cb26f7edff2dc28f7da5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144e818fd5ea704fe56081d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144f8dc6849e405dd8bb829.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e6eeaa66c605eb087fe9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145eb5f08a38a0786c7a80c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ed1f22caab087630aaad.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ee65e2e1530938cb594d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f14f019a4b0adb94b051.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f3a5cd9be60b9459cdd6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f47393fbe70c4d885f9c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f59029474c0d3dc1c8b8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f685797bd30df9784e8c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f829ac6a920ebf5797d7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f8f8bcd4370f6509078e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fb5018cb5b100cb2a88c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fc3707fc3310c277f5c8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6147a14ef5668b5881ef2297.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487da611a65307e78d2c20.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487f703571b60899055cf9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614880dc16070e093e29bc56.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614883b6fa720e09fb167de9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614884c1f5d6f30ab3d78cde.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61488ecfd05e290b5712e6da.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148d99cdc7acd0c519862cb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148da157cc0bd0d06df5c0a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dc095264000dce348bf5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dcaaf2e8750e6cb4501a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dd31d210990f0fb140f8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148defa9c01520fb9d178a0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dfab9b54c110577de165.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e0bcc13efd10f7d7a6a9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e161ecec9511941f8833.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e28706b34912340fd042.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e335c1edd512d00e4691.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e41c728f65138addf9cc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e5aeb102e3142de026a2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33071498eb2472b87ddee4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3313e74582ad9d063e3a38.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f331e55dfab7a896e53c3a1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3326b143638ee1a09ff1e3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33294a6af5e9188dbdb8f3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332a88dc25a0fd25c7687a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332b23c2045fb843337579.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344f9c805cd193c33d829c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fbc22624a2976425065.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fc1520b6719f2e35605.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae34c1239cafe128be.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae8466a9a3d2cc953c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae9675db8bb7655b30.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477aefa51bfc29327200b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb303c5cb61b43aa9b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cbcb6ba47918c1da92.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f34a1fd611d003edeafd681.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed60785e1f3e9850b6e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed60a5decd94ab66986.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed6199b0cdef1d2be8f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed63c7807a4f1e6d054.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed63e0fa262326eef05.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed656a336993abd9f7c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed69db0a491745e2bb6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed6cf6eab5f15f5cfe6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c4321f818cdc4bed30.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c44359872a137bd98f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d0fc037f7311b4ac8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d28d7ad0de6470505.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d5414453fc2d7b480.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866daec9a49519871816.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dbf362f99b9a0c6d0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dd0d0275f01d4d847.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866de7a5b784048f94b1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade94c6576e7f7b7953f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade9993019e26313fa8e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade9fa77275d9f4efe62.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e01f288a026d709587.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e03d719d5ac4738993.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e04559b939080db057.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e050279c7a4a7101d3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e05473f91f948724ab.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e06d34faac0447fc44.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e07276f782bb46b93d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0819d4f23ca7285e6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e087d56ed3ffdc36be.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0a81099d9a697b550.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0b431cc215bb16f55.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0e0c3feaebcf647ad.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0e9629bad967cd71e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0eaa7da26e3d34d78.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0f8c230bdd2349716.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3f26fa39591db45e5cd7a0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f459225127805351a6ad057.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f459a7ceb8b5c446656d88b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f459cf202c2a3472fae6a9f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f459fd48bdc98491ca6d1a3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45a05977e2fa49d9119437.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45a276c093334f0f6e9df4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45a5a7c49a8251f0bdb527.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45a66d4a2b0453301e5a26.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45b0731d39e15d54df4dfc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45b25e7ec2405f166b9de1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45b3c93c027860d9298dbd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45b45d099f3e621fbbb256.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45b4c81cea7763550e40df.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f45b715301bbf667badc04a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f46e270702a8456a664f0df.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f46e36e745ead58487aabf2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f46e7a4750dd05b5a673920.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f46e8284aae155c83015dee.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f46ede1ff8fec5ba656b44c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f46fc57528aa1c4b5ea7c2e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f4701b942c824109626c3d8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f475bb508746c16c9431d42.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f475e1c7f71a61d913836c6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f47633757ae3469f2d33d2e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f47fe7e31980053a8d4403b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f716ad029ee4053c7027a7a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f716bee5838c354c728a7c5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f7691dafd882520797cd2f0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f7692f7c5b3ce22a57788b6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f769541be494f25449b292f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f76967fad478126d6552b0d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f769702e6e33127d14aa120.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f7b87422a560036fd03ccff.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f7b88d37b1f98386f04edc0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140c7e645d8e905819f1dd4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140c9d35015ae0ba0c250e8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140cbeec34e970dfe75e710.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140cd32d018ed0f600eefce.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140cdebd39d6a101e747529.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140cfc08ca9c5128c3e6478.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140d0069049f5139d78da40.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140d10d50636e14695013b2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140d1a351e88f159ed54fca.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140d263016325162fd076fe.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140d2b687a2cd17bac5730c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140d36b8b747718b50d4b7a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140d3dc359b371b1a21d783.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140d4bc9db3c81c51a09ab7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140d94b5fab7f1d73c9bedb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140dc5e13d0c81e7496f182.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140dd77e0bc5a1f70bd7466.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140de31b1f5b420410728ff.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140df547f09402144e40b92.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140e0d875ec16262f26432b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140f4b5c1555a2960de1e5f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/614100d7d335bb2a5ff74f1f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/61410126fa3a6d2b3cda502e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6141019eadec6d2c6c6f007b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6141026ec9882f2d39dcf2b8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6169ab1aaeb4cd1174def700.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6169b1357fcb701bb5efc619.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6169b284950e171d8d0bb16a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/617ace7d831f9c16a569b38a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61695197ac34f0407e339882.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61695ab9f6ffe951c16d03dd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61695c4aad56f95497c19583.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61695d1fbc003856628bf561.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616965351e74d4689eb6de30.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616968c2c94c8071b349c146.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61696ef7ac756c829f9e4048.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616971b3cd990186b66c99a1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d3a67ccf800ad94ec89ae.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d47bc9eedc4bc7f621bec.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d4a84b756d9c4b8255093.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d50b93ba424d6282c99cf.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d525007b8c5d8b3308b1c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d55bd160a95e22453a081.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d595270d902f0e7086e18.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61764c602bee6974e7790f35.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61764f23ea21477b76f3b80f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61764f7e5240eb7ccc7f6a0a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61764fdda535587e1fefb3aa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/6176519636a76b810ab1219a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b65579ce424bf5f02ca73.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8b38f32bf2080a140675.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8e0d93a8d10d9a90e720.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b92b9de349513466f6156.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b954d9f4f6217a749380e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b97abd9f3f61d1590b815.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b9ad735109e217284e095.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bb5624a75e86463b7e638.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bb77353188166af43f3ac.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bb9fdef27bc6aa0470ac2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bbb6b97a83f6d1f7d6e38.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc3386dc7d07d6469bf20.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bc4824e233180553a8069.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bd6ec666b1da2587e4e37.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a00ed1ca871a2b3aca0cb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a0927005553b74bfa05ae.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a0b2befb143baefab632b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a1275e873dcc803c2d1aa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a132676346ac9f7fd59dd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a16873520a8d088ffdf44.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a16d21bd3dad1bb3aa8ef.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b72a0db211f1c29afb906.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b7396e57b771f903be90d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b7424f43ec9215e538afe.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b74fa777a2b2473c94f82.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b761916dac02643940022.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b7c3c83de403126b69c1e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b7fd56aa2253778bcf5f7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a489b8579e87364b2d2cdb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a493ead935c148d2b76312.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a498399534644f59cff05e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a49d15bdbb5e57cc6fd280.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a4a53c4459446dc134a1c6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a4a6e908bc34725b4c25ac.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a4a7877da33a73a1c1723e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a4ac092eb21e7dbfe61c33.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a4acbb5587197f68544d00.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a4ada3aabeec822b2975d9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a4ae5f29eb5584187201c3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5be9833e7dc178de2af10.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5bfe091060f1d6a629dd0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5c906ab73313316e342f0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5ca57f50ded36d33eef96.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5d594b887335228ee6533.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5d6701ee08953ca375243.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5d79c858bef560e26c685.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5d7ef1cfcf45764df07a2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61adc60b69cd4b87739d2174.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61adc91467b5d59328b9f781.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61add79e739a5faee9d96080.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61add929e41980b1edbdba7e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61addaf7e83988b59a7d18ff.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61ade49b2dad60c076cbd32d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b092eb9e7fc020b43b1bb2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b093179e7fc020b43b1bb3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b093219e7fc020b43b1bb4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b093329e7fc020b43b1bb5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b093429e7fc020b43b1bb6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b0934c9e7fc020b43b1bb7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b0936d9e7fc020b43b1bb8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b095989e7fc020b43b1bb9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b095a79e7fc020b43b1bba.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b095c79e7fc020b43b1bbb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b09f739aa6572d2064f9b8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b0a1b2af494934b7ec1a72.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b0a44a6b865738ba49b9fb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b306305810f1c9040ce5a2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b30995968123ceb6b76167.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b30a286c228bd0c493c09a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b31287fb580ae75a486047.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b315e76a63b3ecbbb11b75.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b3183655ec10efd8c0bb07.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b31a451057fff645ec09be.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b31cd7b0c76bfc076b4719.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537485c4f2a624f18d7794.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537a8054753e2f1f2a1574.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537bb9b1a29430ac15ad38.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537c5f81f0cf325b4a854c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537c9eecea6a335db6da79.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537d86bdc3dd343688fceb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/615380dff67172357fcf0425.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153893900438b4643590367.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153897c27f6334716ee5abe.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/615389bd81347947ea7ba896.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153908a366afb4d57185c8d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/615392916d83fa4f02f7e2cf.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153938dce8b294ff8f5a4e9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153947986535e5117e60615.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61539e07e7430b528fbffe21.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61539f32a206bd53ec116465.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153a04847abee57a3a406ac.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153a3485f0b20591d26d2a1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153a3952facd25a83fe8083.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153a3ebb4f7f05b8401b716.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/615f171d05def3218035dc85.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/61437d575fb98f57fa8f7f36.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614385513d91ae5c251c2052.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143862a5e54455d262c212e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143869bb45bd85e3b1926aa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614387cbefeeba5f3654a291.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614389f601bb4f611db98563.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/61438b5b66d76a6264430f2a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/61438ec09438696391076d6a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/61439dc084fa5f659cf75d7c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/61439dfc811e12666b04be6f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/61439e33e4fb7967609e0c83.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143a1a228f7d068ab16a130.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143a73279ce6369de4b9bcc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143a778bffc206ac6b1dbe3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143a83fcc32c26bcfae3efa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143b97c06c3306d23d5da47.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143b9e1f5035c6e5f2a8231.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143bb50e8e48c6f5ef9d8d5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143c2a363865c715f1a3f72.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143cd08fe927072ca3a371d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143cdf48b634a747de42104.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143d003ad9e9d76766293ec.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143d2842b497779bad947de.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144d66a5358db0c80628757.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144d7dbdd3e580da730ff45.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144de308591ec10e27d5383.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144e1ba93e435127a7f516d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144ee46a9d6e614c598cc05.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144ee790af79815ad15a832.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144f1410990ea17187a722b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144f3818bfbc51844152e36.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144f42204c8c8195f1f3345.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144f47b7c631e1a6f304dd5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b07081759c2c691166a9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b0d764e4192e5712ed92.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b185ef37522f688316b0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b30464daf630848c21d4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b4b150434734143db6f2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b5623efa8f369f2c3643.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b59ef318e03875f35c4a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148bd62bbb8c83a5f1fc1b3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148be3d605d6b3ca9425d11.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148be82ca63c63daa8cca49.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148bf49fcc7913f05dbf9b7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148bfc43df3bc40fe0e6405.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c004ffc8434252940dc3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c224ecb157439bc5247c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c434bd731d45617a76c6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c5036ddad94692a66230.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c58bace368497fb11bcf.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c6aa9981d74af202125e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c721e74ecd4c619ae51c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148ceaf5d897d4d8b3554b3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148cf094b3f2b4e8a032c63.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d0b863d10d50544ace0e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d1bdf39c5b5186f5974b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d1f9eb63c252e1f8acc4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d2444d01ab541e64a1e4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d33e31fccf558696c745.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d3fff5186b57123d97e2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d4d57b965358c9fa38bf.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d7720f0db36775db868a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d94fdf6a5d6899f8ff15.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d9825b50a3698aeee644.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148e162e255676ae0da6a76.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148e19c3e26436be0155690.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148e246146b646cf4255f0c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148e2dcdd60306dd77d41cc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148e4d6861a486f60681f36.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148e5a204d99e70343a63e4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148e62a6f768f71c4f04828.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148e789329dc9736ce59b85.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148f34ebedc2274bceeb99c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148f600cde42b7670c2611f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148f693e0728f77c87f3020.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148f6f7d8914c78e93136ca.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614e0e503b110f76d3ac2ff6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614e0e588f0e8a772a8a81a6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6165d3b702a5d92ad970b30c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6169cd8a558aa8434e0ad7f6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619665c9abd72906f3ad30f9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61967e74a8e3690ab6292daa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61968df2acd5550bf1616c34.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61968e9243a4090cc805531c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61968f8877c6720d6d61aaf5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619691693bc14b0e528f5a20.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196928658b6010f28c39484.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619692ff79f5770fc6d8c0b4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196990f966e8f10a40094f6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619699c10a0f6e11591d73c4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61969aa6acef5b12200f672e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61969c487ced6f12db8fef94.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61969d66cfcdba137d021558.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61969e7451455614217e901b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196adc17f77a714d51485f2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196aead7ac7bf1584b17a7f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196ce0415498d2463989e84.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196cee94c6da1253809dff9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196d00a5d7292262bc02f4c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196d0cda039d026f7f78d1e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196d1ac33c68d27dcda5796.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196d213d99f16287bff22ae.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196d2c0f22ca0293107c048.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196d32d1340d829f0f6f57d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196d41d40bf9b2aaea5d520.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6197cff995d03905b0cca8ad.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6197f40a16afea068c7e60c8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6197f667297bb30a552ce017.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61993b72e874e709b8dfd666.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61993cf26a8e0f0a553db223.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61993dbb35adf30b10d49e38.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61993e9adc9e9a0bb4d28fff.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6199409834ccaf0d10736596.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6199429802b7c10dc79ff871.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619943285a41720e6370d985.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619943876b706d0f35c01dbc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6199442866286d0ff421a4fc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619bcf239fc15905ecd66fce.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619be73b3c806006ccc00bb0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619be7af7b0bf60770f5d2a4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619be80062551a080e32c821.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619be8ce4ea49008c5bfbc30.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619be946958c6009844f1dee.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619c155df0063a0a3fec0e32.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619c16debd0c270b01c5ce38.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619cfdf2e63ddf05feab86ad.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d019488f98c06acbbb71a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d022dc8400c0763829a17.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d02c7bc95bf0827a5d296.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d033915012509031f309a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d03dadadb6509a16f4f5f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0503e03a790a4179d463.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d05c54dabca0b10058235.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0882f54bf40bdc4671ed.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d090cd8d6db0c93dc5087.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0b51ca42ed0d74582186.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0bc9cb05360e1bf549c3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0c1594c38c0ebae75878.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0d18ca99870f884a7bff.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0daf214542102739b0da.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0e56f9ca9710fcb974e3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0eec0ac40611b41e2ccc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d0fc9825c271253df28d4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d102d786c3d13124c37c6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d107edf7ddf13cc77106a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d10cc98145f14820399c5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d115e2adcd71538e82ebb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d11e6d5ef9515d2a16033.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d129a417d0716a94de913.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1340361095175f4b5115.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d15797b580c1828b05426.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d15d955d9d418c4487bbc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1629a8adc61960ca8b40.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1c5fc9f8941a400955da.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1dab9ff3421ae1976991.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1deb8b04811b8839ffe4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1e7a8e81a61c5a819dc4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1ed33c9a071cf657a0d6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1fb5d244c31db8a7fdb7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d204bd73ae51e743b8e94.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d20b12996101f430920fb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d21fe6a3f9b2016be9d9d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d229b0e542520cd91c685.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d23089e787e216a7043d6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d237a107c10221ed743fa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d26b12e651022d80cd017.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2712853306238f41828e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2b7a84e78b246f2d17a2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2bd9c1d43c2526e96f1f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2d4e80400325ff89664a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2ebc81ba81271460850d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2f0e9440bc27caee1cec.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2fd3ff4f772882e3d998.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d30350883802921bfcccc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d324f5915c929f36ae91d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d32c7fa21f32aaa91d499.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d333b738e3c2b5d58b095.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d337765b9f02c10e93722.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d33c51140292cc5a21742.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d3482f505452d861d0f62.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d3561a951bf2e41a24f10.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d36103839c82efa95dd34.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d3711d04d623000013e9e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/61a8fe15a6a31306e60d1e89.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98c9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ca.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ce.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98cf.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98da.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98db.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98dc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98dd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98de.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98df.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ea.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98eb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ec.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ed.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ee.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ef.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98fa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98fb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98fc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98fd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98fe.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ff.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9900.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9901.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9902.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9903.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9904.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9905.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9906.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9907.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9908.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9909.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e990a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e990b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e990c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e990d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e990e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e990f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9910.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9911.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9912.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9913.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9914.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9915.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9916.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9917.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9918.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9919.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9920.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9921.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9922.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9923.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9924.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9925.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9926.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9927.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9928.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9929.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9930.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9931.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9932.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9933.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9934.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9935.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9936.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9937.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9938.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9939.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e993a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e993b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e993c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e993d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e993e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc174fcf86c76b9248c6eb2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc1798ff86c76b9248c6eb3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc17d3bf86c76b9248c6eb4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc17dc8f86c76b9248c6eb5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc2385ff86c76b9248c6eb7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23991f86c76b9248c6eb8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23f9bf86c76b9248c6eba.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc24073f86c76b9248c6ebb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc24165f86c76b9248c6ebc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc24614f86c76b9248c6ebd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ddbd81294d8ddc1510a8e56.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa22d1b521be39a3de7be0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa2407b521be39a3de7be1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa30b9eacea3f48c6300ad.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa3589eacea3f48c6300ae.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa371beacea3f48c6300af.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa37b9eacea3f48c6300b0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfb5ecbeacea3f48c6300b1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfb6250eacea3f48c6300b2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfb655eeacea3f48c6300b3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfb6a35eacea3f48c6300b4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804da.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804db.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804dc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804dd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804de.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804df.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804e1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804e2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804e3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804e5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804e7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804e8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804e9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804ea.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804eb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804ec.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804ee.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efada803cbd2bbdab94e332.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efae0543cbd2bbdab94e333.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efae16e3cbd2bbdab94e334.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efb23e70dc218d6c85f89b1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efb2c990dc218d6c85f89b2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc4f528d6a74d05e68af74.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc518e8d6a74d05e68af75.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc54138d6a74d05e68af76.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc575c8d6a74d05e68af77.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f05a1d8e233dff4a68508d8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f07be6ef7412fbad0c5626b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f07c98cdb9413cbd4b16750.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f07fb1579dc934717801375.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d48e7b435f13ab6550051.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4ab1b435f13ab6550052.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4d04b435f13ab6550053.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f1a80975fc4bcae0edb3497.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f1a89f1190aff21ae42105a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/62bb4009e3458a128ff57d5d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/62dabe2ef403a12d5d295273.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/7cf9b03d81a65668421804c3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60eebd07ea685b0e777b5583.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f027099a15b00485563dd2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f027c87bc98f050395c139.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f0286404aefb0562a4fdf9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f02e7361b68405e27b62a5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f030d388cb74067cf291c3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f1922fcbd2410527b3bd89.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f1a5e2d2c23707a4f9a660.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f1a9cbd23023082e149fee.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5c3e399ff1a05629964e4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5cb8875ab6a0610f05071.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5d2776c854e069560fbe6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f5dc35c07ac1078f140916.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f803d5241e6a0433a523a1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f805f813eaf2049bc2ceea.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f80e0081e0f2052ae5b505.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f81167d0d4910809f88945.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f81616cff80508badf9ad5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f83e7bfc09900959f41e20.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f84ec41116b209c280ba91.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f852f645b5310a8264f555.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f85a62fb30c80bcea0cedb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f8604682407e0d017bbf7f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f8618d191b940d62038513.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fab4a123ce4b04526b082b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fab8367d35de04e5cb7929.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fab9f17fa294054b74228c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fabf0dd4959805dbae09e6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fac4095512d3066053d73c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fac56271087806def55b33.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fac8d7fdfaee0796934f20.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60faca286cb48b07f6482970.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60facde2d0dc61085b41063f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60facf914c7b9b08d7510c2c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fad0a812d9890938524f50.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fad1cafcde010995e15306.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fad6dfcc0d930a59becf12.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fad8e6148f310bba7890b1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fad99e09f9d30c1657e790.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadb18058e950c73925279.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadce90f85c50d0bb0dd4f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadd972e6ffe0d6858fa2d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fadfa2b540b70dcfa8b771.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc219d333e37046f474a6e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc22d1e64d1b04cdd4e602.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc236dc04532052926fdac.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe1bc30415f042faea936.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe3936796ac04959285a9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe4f4ec18cd04dc470c56.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe69ee377c6055e192a46.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe7d8aae62c05bcc9e7eb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe8a5ceb0e90618db06d9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe947a868ec068f7850f6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe9cb47809106eda2f2c9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffec2825da1007509ddd06.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffecefac971607ae73c60f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffefd6479a3d084fb77cbc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62b30924c5e4ef0daba23b5e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62cc5b1779e4d313466f73c5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8b9dab5ac88e4d3d43a3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff8e998d3e7eae14d6ae3b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/62ff919a7b5612c0670923a5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51578.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51579.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5157f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51580.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51581.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51582.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51583.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51584.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51585.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51586.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51587.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51588.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51589.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5158a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5158b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5158c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5158d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5158e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5158f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51590.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51591.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51592.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51593.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51594.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51595.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51596.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51597.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51598.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c51599.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5159a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5159b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5159c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5159d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5159e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c5159f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515a9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515aa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515ab.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515ac.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515ad.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515ae.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515af.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515b9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515ba.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515bc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515bd.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515be.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515bf.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515c0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515c1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515c2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515c3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515c4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515c5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515c6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b69a66b6ddb80858c515c7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60b80da8676fb3227967a731.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60ba890832b4940f24d1936b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60ba89123a445e0f5c9e4022.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60ba8913f1704c0f7a8906b8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60ba89146b25080f99ab54ad.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60ba8914bab51f0fb8228e9c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60ba929345ab0714a3743655.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60ba9296d4d6b414c1b10995.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60ba92987c1e4914dfa7a0b9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-picasso-painting/60bad32219ebcb4a8810ac6a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd5a93fd62bb35968adeab.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd6343fb42013d99bcd7f3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd66c687e610436494c6f1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd67a656743144844941cb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd6ab779390f49148773bb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd6b7c83dbf54a08cf0498.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd6cc9475a784b7776233e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd70336ebb3e4f62ee81ba.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd719788899952e67692b9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd71d596e8f253b9408b39.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd75ea7f663457612dba02.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd7648a7ba2e5882436831.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd778081276b59d59abad6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd77f7ad2aeb5ae34d07d6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd78621573aa5e8b512f5e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd7a160ed17960e971f28b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd7b3fcaa5406257abc5d1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd8e491324ce717da97ffe.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd8fd08af43372f02952d0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd9126aa72a474301fc49f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd933ba685de776a94997e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd94056e0355785fbba4d3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd986ddbcbd47ba8fbc5ec.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd990577d8227dd93fbeeb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd9a4ff2fc4481b9157bd7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd9ad665a4a282c8106be3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd9b7285bde783ad5b8aac.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd9d9fbdfe078800317055.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fda307bde0b091cf7d884a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fda339eadcfd92a6812bed.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fdac1e31692f9a9ad97295.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fdaea3999cb19d76ce717b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fdaf9ff894b6a084ecdc1b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fdafe6f07fd7a1c6785bc2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fdb04d9939f0a26ca51c2b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620159cd5431aa34bc6a4c9c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62015a5da1c95c358f079ebb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62015cd2654a1139321a89d2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62015d8942384c3aed48329e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620167374bb8b4455cd11125.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620174ed519dd7506c1a4b61.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620175b3710a0951cfa86edf.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201782cc420715562f36271.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620179bc0a6a2358c72b90ad.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62017b6f47454059bf2d3bd1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62017f47c87be96457c49f46.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62017fa5bbef406580ceb44f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62018243f046a368fab8ffb6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201830cb0c74b69f1b41635.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620186f4b6b8356d2def576b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62018ba1aa263770c953be66.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62018c3e94434a71af1d5eaa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62018ec29b3ae674f40bef31.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/62019093fe30e278e797d2f6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620191707bc65579ddd3ce15.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620192a767533a7ad19d96d7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201995d9ab88e80f1989dce.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/620199c7a7a32c81d4db3410.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201a1a7af32c287bd6b8183.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201a1cc668a34888f5b2f52.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201a20d742f5c89736c8cfb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201a42e39bf3b95b6a33bf3.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201a4adcc6414968b391592.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201a5258af7b398b030bfaf.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201a59be346d399c21d10b1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e6afc009b450a437940a1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e77aba7ca691f598feb02.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e78af05201622d4bab8aa.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e7d1c29fb872d6384379c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e804c54d5e7308d7ebe56.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e813b3ba67633222cbe54.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e8279827a28352ce83a72.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e83ec2eca1e370f830511.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e89562043183c86df287c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e89d254fe5d3df7d6693d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e8eebe3a6dc3fcc33a66f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e95ef2e4bdf41f69067f9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e96fc87fe8e44f69f7ec5.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e98f3245c98475e49cfc6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e9a21381a1949327512e6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e9d142affc44a453655db.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e9f1e7e5ccd4fa9ada0be.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ea4c4993aba52ab4aa32e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ea97df5742154772f312e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ead8788d28655ef8db056.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612eaf56b7ba3257fdbfb0db.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612eb4893b63c75bb9251ddf.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612eb75153591b5e3b1ab65e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612eb7ca8c275d5f89c73333.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612eb8e984cd73677a92b7e9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612eb934f64a4d6890a45518.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ebcba99bfa46a15370b11.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ebe7fe6d07e6b76d1cae2.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ebedec97e096c8bf64999.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ebf9a210f2b6d77001e68.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ec0490ae8626e9adf82e4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ec19d5268da7074941f84.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ec29c84b9a6718b1f5cec.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69970.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69971.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69972.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69973.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69974.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69975.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69976.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69977.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69978.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69979.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69980.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69981.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69982.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69983.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69984.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69986.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69987.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69988.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69989.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998c.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69990.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69991.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69992.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69993.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69994.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69995.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69996.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69997.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f2abbe7d18d49a1e0e1c8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f2d4150fe0d4cbd0f2628.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34948891834dd77655a6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34ecc1091b4fd5a8a484.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f357957e370510f21ea16.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f378014c2da526a109c81.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f38279e5c3d53692ea441.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f38cabc64e3556f98cc1a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f3949f58e12577dcefb00.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f39d7da41b15851fa3fb9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f3b091162165948e1cb33.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f3cafd794015aa9547a6d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f3d9e59db4b5b8e960762.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f3e1b7233ee5c7595771f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f3e4af8008c5d494d3afe.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f3ed16592445e57941aec.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f405b89a7ec5f8e2d11f4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f40b01f680e608d360ed4.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4172e9eec061d6456221.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f41c979787462e76dab90.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f423cf65d5864132a0956.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f42a021625f656101ef93.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4bfb9de4a16703b56eb6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ce9d877b668417c0c42.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4dde9d72e3694cb9ee3b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ec58334106a4170c2a8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4f9e4a40566b776a8f38.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f50473cc0196c6dd3892a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51257a8a516d80b6c743.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51e4e5b24a6e80eccce1.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f522dea4f776f64dc3e91.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5486b8fd4b71633f69b0.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f575b50b91e72af079480.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5af373a68e744a3c5a76.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5c1cb7575c7551ed8a40.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f5fd85d0062761f288364.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f61338c8ca176d6445574.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f666ac5edea782feb7e75.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f671b6d1919792745aa5d.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6823d0815b7a991f2a75.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6a7d4ba8037bc086c2c7.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6b2d164f81809efd9bdc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6cc778f7698258467596.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f6fddaac1e083502d3e6a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f70077a4ff98424236c1e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f72a872354a850d4f533e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f74a71f1e498619e38ee8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ad94380408d971d14f6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7bc680f7168ea01ebf99.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7c71eab8218f846e4503.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7d489a581590d1350288.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7de4487b64919bb4aa5e.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7e7281626a92bbd62da8.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ecb09de9a938ef94756.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7fa959ab75948f96a0d6.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f808d85793195b0f53be9.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f829d07b18f96f6f6684b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f83ef928ec9982b785b6a.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f84f246e8ba98e3cd97be.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f887466db4ba14b5342cc.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f89e055040ba294719d2f.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8bfe0f30a1a3c340356b.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f8f1223601fa546e93f31.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f905fbd1017a65ca224eb.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f94786869e1a7fec54375.md create mode 100644 curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f951dff9317a900ef683f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/build-a-caesars-cipher-project/caesars-cipher.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/build-a-cash-register-project/cash-register.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/build-a-palindrome-checker-project/palindrome-checker.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/build-a-roman-numeral-converter-project/roman-numeral-converter.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/build-a-telephone-number-validator-project/telephone-number-validator.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/5d5a813321b9e3db6c106a46.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a115879a6d51422652cbfc.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a1166ed9a56d439c0770e7.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a23c1d505bfa13747c8a9b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a23cb9bc467a147516b500.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a23d1c5f1c93161f3582ae.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a2401b9842721796b72850.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a24068d60b671847d1d4e2.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a2409897ec621942234cf6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a240c67f3dbb1a1e6d95ee.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a24128d5e8af1b47ad1aab.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a24190868ca51c0b6e83c7.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a241df03c1f61ce936f5d9.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a2509ba163e020bb9d84ea.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a255dae245b52317da824a.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a257659d0d1e2456f24ba2.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a39f5a5790eb27c1e5d4bf.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3a0a3c0a4b32915d26a6e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3a488b24fb32b91155d56.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3a75d8466a12e009eff76.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3a7e4f1060e2fc5ffb34b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b365f1cdeb33efc2502e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b3eab50e193608c19fc6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b41c9494f937560640ab.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b49686792938718b90d3.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b506dbaead396f58a701.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b5843544ce3a77459c27.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3b79d520a7f3d0e25afd6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3bb9aeefe4b3fc43c6d7b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3bec30ea7f941412512dc.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c0ab883fd9435cd5c518.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c2fccf186146b59c6e96.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c4a0e52767482c5202d4.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c668afc43b4a134cca81.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c8bf3980c14c438d2aed.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3c91a2bab1b4d6fabb726.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3cdb11478a34ff4a6470d.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a3cfc8328d3351b95d4f61.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a7beb1ad61211ac153707f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a7bf06d2ad9d1c5024e833.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a7bfabe119461eb13ccbd6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a7bfd9179b7f1f6a15fb1e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a7c011eef9fb2084b966db.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a7c071219da921758a35bb.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a7c23e6b511f22ed71197a.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a7cc99577fbf25ee7a7d76.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8a929e4260d08093756d2.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8a9d876b2580943ba9351.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8aa98a8289d0a698eee1d.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ab0e27cbaf0b54ba8a42.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ac194679e60cb561b0a8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ad8e01d7cb0deae5ec66.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ade9b2f5b30ef0b606c2.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ae85fcaedc0fddc7ca4f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8b0b5053f16111b0b6b5f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8b1762b7775124622e1a3.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8b3cc436db8139cc5fc09.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8b6536156c51500739b41.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8b711ab7a12161c7d9b67.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8b9770050d217d2247801.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c0c8313e891a15ec23e7.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c1154d3ae11aee80353f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c151b23bf21bc7c4fcba.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c173949f851c83c64756.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c242b25a531f2909e5bc.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c2bbbd8aa82052f47c53.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c31ec0ec78216a1c36a0.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c370ad8c68227137e0bc.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c3ebc6c35e23785e1a19.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c41ecaf1bd24536129b8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c465fa7b0c252f4a8f0c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c4db0710f3260f867a92.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c56247609626fa4a8d6e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c5db7888af27af23f0dd.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c65b75664c28a8e59c16.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c6815f5f1a29735efe1b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c7322e42962ad53ad204.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c7a59e72c02bb1c717d2.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c89e4272512d44fc1c66.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8c8cee8e5cf2e001789b4.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ca22d29fe62f3952bdf5.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8cb19bd7f8a304e5427a1.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8cbd1e3595431d5a2b3f1.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8cce1b0c32c33017cf2e9.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ce1dfc990134162b3bd9.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ce73d0dce43468f6689c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8cf22272d6d35af80d4ac.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d0337d7c67377a4a76c6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d08668fa8b38732486e9.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d0c4f12c2239b6618582.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d0fdf2dad83a92883a80.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d143f2a58e3b6d6e9c33.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d1c72e8bb13c2074d93c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d2146a3e853d0a6e28ca.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d24c97461b3ddb9397c8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d2e2a073be3edb46116f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d31ebbc10e3fe1b28e03.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d35660db4040ba292193.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d382cd075f4169223e14.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d539dc11cb42b5dd7ec8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d61ddfe35744369365b7.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d6c7001ebc45350e3d16.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d7b8ab568b4649998954.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8d81f539f004776dd9b1e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8dd468debb449b4454086.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8dd9cdb16324b04cfd958.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8dfcf7fb1044d2f478fd1.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e0d1d0110b4ec421489f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e142f7f0bd4fed898de3.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e1dc897df55108bcb5e8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e21398ad61520edb724f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e24c673b075317cc0b09.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e271f8e3d1541f9624ad.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e35675c18c56354c08cf.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e41e2f190c58404dd46e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e45cc600c3591cee671a.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e49f4df7af5ae2d7a616.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8e4dc6a60f85bf256a0cb.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ed36d7a7915dfa444ba2.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8edd05e27cc668051686f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ee154c8946678775c4a4.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ee71f018e968a056d369.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8eec45f77bc69e8775294.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8eefe2e68b66ac563816b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ef6a52292f6bdca4f6f8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8ef8f0c76a46cd221a68c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8efb0e3ce826db8daf80f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8eff21c0b0f6ebe5b8e38.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f06fb318666fef69f91e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f14fe6d1fc72454648c7.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f1d5f5ddbf74c07f733b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f20463b324759953edad.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f256b813a476cae51f49.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f2bc37675e77d5835235.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a8f35bde1750791f58773f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62a94114ce0b8918b487390f.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1cea594f152ba626b872.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1d6736ba262cfa74344b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1d9f535e102e4663e7a6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1e3c7c3d552fb04f0f18.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1e8ccd579330e097ce44.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1eec891ed731db227a36.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa1fed3d4e873366ff3131.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa204c1e1d33348ff09944.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa20e9cf1be9358f5aceae.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa2136fc49b836dfedb959.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa21971e3b743844849985.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa21ea8d9d9f396b95dd87.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa226207f33d3ad4c6f546.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa22aba186563bcbf2c395.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa234322d4ad3e8bce42cc.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa2469c77b363fdb4f0e06.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa252c3b1073415ba2b898.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa258da314ef42ba0a1858.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa25fcb5837d43b4d9873d.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa2626c3c10244b94c787b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa264d23cdaa45a20efada.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa26cca3cd3d46c431e73b.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa27227399d647e1c37a3c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa27560def7048d7b4a095.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa27c40ca6f04ab8be5fac.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28032d863d4bd8058799.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa287434dc284cea01157c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28bbd6323e4dfb3ac43e.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa28fb651bf14efa2dbb16.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa2943669c9d5026af6985.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa2999ec27ec516655eba6.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa29d8f8f88152c91350ca.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa2aec2f09d454253aad6c.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62aa2ba9cd881355a6f0a5a8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62b46e3a8d4be31be5af793d.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62ba17beef16c563069a65d8.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62fc1ee0c5a89717d4785729.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62fc20387ef88d1d1998aac5.md create mode 100644 curriculum/challenges/arabic/15-javascript-algorithms-and-data-structures-22/learn-basic-javascript-by-building-a-role-playing-game/62fc211760bfc220f4734800.md create mode 100644 curriculum/dictionaries/arabic/comments.json diff --git a/curriculum/challenges/arabic/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml b/curriculum/challenges/arabic/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml new file mode 100644 index 00000000000..c2018b7e777 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561add10cb82ac38a17523bc +title: تطوير واجهات الخلفية وشهادة واجهات برمجة التطبيقات API +certification: back-end-development-and-apis +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c443edefaeb5bdef + title: الخدمة المصغرة للطابع الزمني + - + id: bd7158d8c443edefaeb5bdff + title: الخدمة المصغرة لمحلل Request Header + - + id: bd7158d8c443edefaeb5bd0e + title: الخدمة المصغرة لتقصير الروابط + - + id: 5a8b073d06fa14fcfde687aa + title: متعقب التمارين + - + id: bd7158d8c443edefaeb5bd0f + title: خدمة مصغرة للبيانات الوصفية للملفات diff --git a/curriculum/challenges/arabic/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml b/curriculum/challenges/arabic/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml new file mode 100644 index 00000000000..b146f7e4a0f --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml @@ -0,0 +1,23 @@ +--- +id: 5e46fc95ac417301a38fb934 +title: تحليل البيانات بواسطة شهادة Python +certification: data-analysis-with-python +challengeType: 7 +isPrivate: true +tests: + - + id: 5e46f7e5ac417301a38fb928 + title: حاسبة الانحراف المعياري و التباين و المتوسط + - + id: 5e46f7e5ac417301a38fb929 + title: محلل البيانات الديموغرافية + - + id: 5e46f7f8ac417301a38fb92a + title: مصور البيانات الطبية + - + id: 5e46f802ac417301a38fb92b + title: مصور السلسلة الزمنية لعرض الصفحة + - + id: 5e4f5c4b570f7e3a4949899f + title: متوقّع مستوى البحر + diff --git a/curriculum/challenges/arabic/00-certifications/data-visualization-certification/data-visualization-certification.yml b/curriculum/challenges/arabic/00-certifications/data-visualization-certification/data-visualization-certification.yml new file mode 100644 index 00000000000..2222485a58a --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/data-visualization-certification/data-visualization-certification.yml @@ -0,0 +1,22 @@ +--- +id: 5a553ca864b52e1d8bceea14 +title: شهادة التصوير المرئي للبيانات +certification: data-visualization +challengeType: 7 +isPrivate: true +tests: + - + id: bd7168d8c242eddfaeb5bd13 + title: التصوير المرئي للبيانات باستخدام الرسم البياني العمودي + - + id: bd7178d8c242eddfaeb5bd13 + title: التصوير المرئي للبيانات باستخدام مخطط التشتت + - + id: bd7188d8c242eddfaeb5bd13 + title: التصوير المرئي للبيانات باستخدام خريطة التمثيل الحراري + - + id: 587d7fa6367417b2b2512bbf + title: التصوير المرئي للبيانات باستخدام خريطة التمثيل اللوني + - + id: 587d7fa6367417b2b2512bc0 + title: التصوير المرئي للبيانات باستخدام الخريطة الشجرية diff --git a/curriculum/challenges/arabic/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml b/curriculum/challenges/arabic/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml new file mode 100644 index 00000000000..e00138af76c --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561acd10cb82ac38a17513bc +title: شهادة مكتبات تطوير واجهة المستخدم +certification: front-end-development-libraries +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c442eddfaeb5bd13 + title: بناء آلة عرض اقتباسات عشوائية + - + id: bd7157d8c242eddfaeb5bd13 + title: بناء عارض Markdown + - + id: 587d7dbc367417b2b2512bae + title: بناء آلة الدرامز + - + id: bd7158d8c442eddfaeb5bd17 + title: بناء آلة حاسبة بإستخدام JavaScript + - + id: bd7158d8c442eddfaeb5bd0f + title: بناء ساعة 25 + 5 diff --git a/curriculum/challenges/arabic/00-certifications/information-security-certification/information-security-certification.yml b/curriculum/challenges/arabic/00-certifications/information-security-certification/information-security-certification.yml new file mode 100644 index 00000000000..9256a935721 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/information-security-certification/information-security-certification.yml @@ -0,0 +1,22 @@ +--- +id: 5e6021435ac9d0ecd8b94b00 +title: شهادة امن المعلومات +certification: information-security +challengeType: 7 +isPrivate: true +tests: + - + id: 587d824a367417b2b2512c44 + title: مدقق أسعار الأسهم + - + id: 587d824a367417b2b2512c45 + title: لوحة الرسائل المجهولة + - + id: 5e46f979ac417301a38fb932 + title: ماسح المنافذ + - + id: 5e46f983ac417301a38fb933 + title: كاسر كلمات المرور بتشفير SHA-1 + - + id: 5e601c775ac9d0ecd8b94aff + title: لعبة اونلاين متعددة اللاعبين و آمنة diff --git a/curriculum/challenges/arabic/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml b/curriculum/challenges/arabic/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml new file mode 100644 index 00000000000..3349d7cd478 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561abd10cb81ac38a17513bc +title: شهادة خوارزميات وهياكل البيانات في JavaScript +certification: javascript-algorithms-and-data-structures +challengeType: 7 +isPrivate: true +tests: + - + id: aaa48de84e1ecc7c742e1124 + title: فاحص الـ Palindrome + - + id: a7f4d8f2483413a6ce226cac + title: محول الأرقام الرومانية + - + id: 56533eb9ac21ba0edf2244e2 + title: شفرة قيصر (Caesars Cipher) + - + id: aff0395860f5d3034dc0bfc9 + title: مدقق رقم الهاتف + - + id: aa2e6f85cab2ab736c9a9b24 + title: ماكينة تسجيل المدفوعات النقدية diff --git a/curriculum/challenges/arabic/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml new file mode 100644 index 00000000000..72f813a9079 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml @@ -0,0 +1,37 @@ +--- +id: 660add10cb82ac38a17513be +title: شهادة الواجهة الخلفية القديمة +certification: legacy-back-end +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c443edefaeb5bdef + title: الخدمة المصغرة للطابع الزمني + - + id: bd7158d8c443edefaeb5bdff + title: الخدمة المصغرة لمحلل Request Header + - + id: bd7158d8c443edefaeb5bd0e + title: الخدمة المصغرة لتقصير الروابط + - + id: bd7158d8c443edefaeb5bdee + title: طبقة مجرّدة للبحث عن الصور + - + id: bd7158d8c443edefaeb5bd0f + title: خدمة مصغرة للبيانات الوصفية للملفات + - + id: bd7158d8c443eddfaeb5bdef + title: بناء تطبيق تصويت + - + id: bd7158d8c443eddfaeb5bdff + title: بناء تطبيق تنسيق الحياة الليلية + - + id: bd7158d8c443eddfaeb5bd0e + title: رسم بياني لسوق الأسهم + - + id: bd7158d8c443eddfaeb5bd0f + title: إدارة نادي تجارة الكتب + - + id: bd7158d8c443eddfaeb5bdee + title: بناء نسخة من Pinterest diff --git a/curriculum/challenges/arabic/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml new file mode 100644 index 00000000000..0bd55f21ee2 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml @@ -0,0 +1,37 @@ +--- +id: 561add10cb82ac39a17513bc +title: شهادة التصوير المرئي للبيانات +certification: legacy-data-visualization +challengeType: 7 +isPrivate: true +tests: + - + id: bd7157d8c242eddfaeb5bd13 + title: بناء عارض Markdown + - + id: bd7156d8c242eddfaeb5bd13 + title: بناء لائحة المتصدرين + - + id: bd7155d8c242eddfaeb5bd13 + title: بناء صندوق وصفات + - + id: bd7154d8c242eddfaeb5bd13 + title: بناء لعبة الحياة + - + id: bd7153d8c242eddfaeb5bd13 + title: بناء لعبة Roguelike Dungeon Crawler + - + id: bd7168d8c242eddfaeb5bd13 + title: التصوير المرئي للبيانات باستخدام الرسم البياني العمودي + - + id: bd7178d8c242eddfaeb5bd13 + title: التصوير المرئي للبيانات باستخدام مخطط التشتت + - + id: bd7188d8c242eddfaeb5bd13 + title: التصوير المرئي للبيانات باستخدام خريطة التمثيل الحراري + - + id: bd7198d8c242eddfaeb5bd13 + title: إظهار الارتباط الوطني مع رسم بياني موجه بالقوة + - + id: bd7108d8c242eddfaeb5bd13 + title: بيانات الخرائط عبر الكرة الأرضية diff --git a/curriculum/challenges/arabic/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml new file mode 100644 index 00000000000..41c89333ec8 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml @@ -0,0 +1,37 @@ +--- +id: 561add10cb82ac38a17513be +title: شهادة الواجهة الأمامية القديمة +certification: legacy-front-end +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c242eddfaeb5bd13 + title: قم ببناء صفحة ويب لعرض نماذج الأعمال الشخصية + - + id: bd7158d8c442eddfaeb5bd13 + title: قم ببناء آلة عرض اقتباسات عشوائية + - + id: bd7158d8c442eddfaeb5bd0f + title: قم ببناء ساعة 25 + 5 + - + id: bd7158d8c442eddfaeb5bd17 + title: بناء آلة حاسبة بإستخدام JavaScript + - + id: bd7158d8c442eddfaeb5bd10 + title: إظهار الطقس المحلي + - + id: bd7158d8c442eddfaeb5bd1f + title: استخدام Twitch JSON API + - + id: bd7158d8c442eddfaeb5bd18 + title: نسق قصص على Camper News + - + id: bd7158d8c442eddfaeb5bd19 + title: إنشاء عارض ويكيبيديا + - + id: bd7158d8c442eedfaeb5bd1c + title: قم ببناء لعبة Tic Tac Toe + - + id: bd7158d8c442eddfaeb5bd1c + title: قم ببناء لعبة سيمون diff --git a/curriculum/challenges/arabic/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml new file mode 100644 index 00000000000..e9ca5686706 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml @@ -0,0 +1,25 @@ +--- +id: 561add10cb82ac38a17213bd +title: شهادة الـ Full Stack القديمة +certification: legacy-full-stack +challengeType: 7 +isPrivate: true +tests: + - + id: 561add10cb82ac38a17513bc + title: شهادة Responsive Web Design + - + id: 561abd10cb81ac38a17513bc + title: شهادة الخوارزميات وهياكل البيانات في JavaScript + - + id: 561acd10cb82ac38a17513bc + title: شهادة مكتبات تطوير واجهة المستخدم (Front End Libraries) + - + id: 5a553ca864b52e1d8bceea14 + title: شهادة Data Visualization + - + id: 561add10cb82ac38a17523bc + title: شهادة API's and Microservice + - + id: 561add10cb82ac38a17213bc + title: شهادة أمن المعلومات القديمة وشهادة ضمان الجودة diff --git a/curriculum/challenges/arabic/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml new file mode 100644 index 00000000000..66f533142b3 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561add10cb82ac38a17213bc +title: شهادة أمن المعلومات القديمة وشهادة ضمان الجودة +certification: legacy-information-security-and-quality-assurance +challengeType: 7 +isPrivate: true +tests: + - + id: 587d8249367417b2b2512c41 + title: محول Metric-Imperial + - + id: 587d8249367417b2b2512c42 + title: متعقب المشكلة (Issue Tracker) + - + id: 587d824a367417b2b2512c43 + title: المكتبة الشخصية + - + id: 587d824a367417b2b2512c44 + title: مدقق أسعار الأسهم + - + id: 587d824a367417b2b2512c45 + title: لوحة الرسائل المجهولة diff --git a/curriculum/challenges/arabic/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml b/curriculum/challenges/arabic/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml new file mode 100644 index 00000000000..7d39f5ee823 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml @@ -0,0 +1,23 @@ +--- +id: 5e46fc95ac417301a38fb935 +title: مشاريع تعلم الآله باستخدام Python +certification: machine-learning-with-python +challengeType: 7 +isPrivate: true +tests: + - + id: 5e46f8d6ac417301a38fb92d + title: حجر ورقة مقص + - + id: 5e46f8dcac417301a38fb92e + title: مصنف صور القطط والكلاب + - + id: 5e46f8e3ac417301a38fb92f + title: محرك توصية للكتب باستخدام KNN + - + id: 5e46f8edac417301a38fb930 + title: حاسبة التكاليف الصحية بالانحدار الخطي + - + id: 5e46f8edac417301a38fb931 + title: مصنف الرسائل SMS بالشبكة العصبية + diff --git a/curriculum/challenges/arabic/00-certifications/quality-assurance-certification/quality-assurance-certification.yml b/curriculum/challenges/arabic/00-certifications/quality-assurance-certification/quality-assurance-certification.yml new file mode 100644 index 00000000000..c9949843795 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/quality-assurance-certification/quality-assurance-certification.yml @@ -0,0 +1,23 @@ +--- +id: 5e611829481575a52dc59c0e +title: شهادة ضمان الجودة +certification: quality-assurance +challengeType: 7 +isPrivate: true +tests: + - + id: 587d8249367417b2b2512c41 + title: محول Metric-Imperial + - + id: 587d8249367417b2b2512c42 + title: متعقب المشكلة + - + id: 587d824a367417b2b2512c43 + title: المكتبة الشخصية + - + id: 5e601bf95ac9d0ecd8b94afd + title: حلال Sudoku + - + id: 5e601c0d5ac9d0ecd8b94afe + title: مترجم أمريكي بريطاني + diff --git a/curriculum/challenges/arabic/00-certifications/relational-database-certification/relational-database-certification.yml b/curriculum/challenges/arabic/00-certifications/relational-database-certification/relational-database-certification.yml new file mode 100644 index 00000000000..7162b7a3009 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/relational-database-certification/relational-database-certification.yml @@ -0,0 +1,22 @@ +--- +id: 606243f50267e718b1e755f4 +title: شهادة Relational Databases +certification: relational-database +challengeType: 7 +isPrivate: true +tests: + - + id: 5f1a4ef5d5d6b5ab580fc6ae + title: قاعدة بيانات Celestial Bodies + - + id: 5f9771307d4d22b9d2b75a94 + title: قاعدة بيانات كأس العالم + - + id: 5f87ac112ae598023a42df1a + title: مجدول مواعيد الصالون + - + id: 602d9ff222201c65d2a019f2 + title: قاعدة بيانات الجدول الدوري + - + id: 602da04c22201c65d2a019f4 + title: لُعْبَة تخمين العدد diff --git a/curriculum/challenges/arabic/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml b/curriculum/challenges/arabic/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml new file mode 100644 index 00000000000..341301ba269 --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml @@ -0,0 +1,22 @@ +--- +id: 561add10cb82ac38a17513bc +title: شهادة Responsive Web Design +certification: responsive-web-design +challengeType: 7 +isPrivate: true +tests: + - + id: bd7158d8c442eddfaeb5bd18 + title: بناء صفحة تحية + - + id: 587d78af367417b2b2512b03 + title: بناء نموذج استطلاع رأي + - + id: 587d78af367417b2b2512b04 + title: بناء الصفحة الرئيسة لمنتج + - + id: 587d78b0367417b2b2512b05 + title: أنشئ صفحة التوثيق الفني + - + id: bd7158d8c242eddfaeb5bd13 + title: قم ببناء مشروع صفحة ويب لعرض نماذج الاعمال الشخصية diff --git a/curriculum/challenges/arabic/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml b/curriculum/challenges/arabic/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml new file mode 100644 index 00000000000..eb30371458c --- /dev/null +++ b/curriculum/challenges/arabic/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml @@ -0,0 +1,22 @@ +--- +id: 5e44431b903586ffb414c951 +title: مشاريع الحوسبة العلمية باستخدام Python +certification: scientific-computing-with-python +challengeType: 7 +isPrivate: true +tests: + - + id: 5e44412c903586ffb414c94c + title: منسق حسابي + - + id: 5e444136903586ffb414c94d + title: آلة حاسبة للوقت + - + id: 5e44413e903586ffb414c94e + title: تطبيق الميزانية + - + id: 5e444147903586ffb414c94f + title: حاسبة مساحة المضلّع + - + id: 5e44414f903586ffb414c950 + title: حاسبة الاحتمالات diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md new file mode 100644 index 00000000000..27f9c91bb75 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-a-text-alternative-to-images-for-visually-impaired-accessibility.md @@ -0,0 +1,46 @@ +--- +id: 587d774c367417b2b2512a9c +title: إضافة بديل نصي للصور لضعاف البصر +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cPp7VfD' +forumTopicId: 16628 +dashedName: add-a-text-alternative-to-images-for-visually-impaired-accessibility +--- + +# --description-- + +من المرجح أنك رأيت خاصية `alt` لوسم `img` في تحديات أخري. نص `alt` يصف محتوي الصورة ويوفر بديل نصي لها. هذا يساعد في حالة فشل الصورة في التحميل أو عدم قدرة المستخدم علي رؤيتها. تستخدم أيضا من قبل محركات البحث لفهم ما تحتوي عليه الصورة لتضمينها في نتائج البحث. إليك مثال: + +```html +Company logo +``` + +يعتمد الأشخاص الذين يعانون من إعاقات بصرية على برامج قراءة الشاشة لتحويل محتوى الويب إلى واجهة صوتية. لن يمكنهم الحصول على المعلومات المقدمة فقط بشكل بصري. في حالة الصور، يعتمد قارئ الشاشة على الوصول لخاصية `alt` وقراءة محتوياتها لإيصال المعلومات الرئيسية. + +من خواص نص `alt` الجيد أنه يقدم شرحا مختصرا لمحتوى الصورة. يجب عليك دائما إضافة خاصية `alt` للصور التي تستخدمها. فبحسب مواصفات HTML5، تعد إضافة نص بديل للصور أمرا إلزاميا. + +# --instructions-- + +كامبر القط هو نينجا في البرمجة وهو أيضا نينجا حقيقي، يقوم ببناء صفحة ويب لمشاركة معرفتة. الصورة الشخصية التي يريد استخدامها تظهر مهاراته ويجب أن تحظي بتقدير جميع زوار الموقع. أضف خاصية (attribute) `alt` في الوسم (tag) `img` لتظهر أن كامبر القط يجيد لعبة الكاراتية. (خاصية الصورة `src` لا ترتبط بملف فعلي، لذا يجب أن ترى نص `alt` في العرض.) + +# --hints-- + +يجب أن يحتوي وسم `img` الخاص بك علي خاصية `alt` ويجب ألا يكون فارغا. + +```js +assert($('img').attr('alt')); +``` + +# --seed-- + +## --seed-contents-- + +```html + +``` + +# --solutions-- + +```html +Someone doing karate +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md new file mode 100644 index 00000000000..f54b40bdd31 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md @@ -0,0 +1,105 @@ +--- +id: 587d778b367417b2b2512aa8 +title: إضافة منتقي تاريخ يمكن الوصول إليه +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cR3bRbCV' +forumTopicId: 301008 +dashedName: add-an-accessible-date-picker +--- + +# --description-- + +غالبًا ما تتضمن النماذج حقل `input` ، والذي يمكن استخدامه لإنشاء العديد من العناصر المختلفة للتحكم في النموذج. خاصية `type` على هذا العنصر تشير إلي أي نوع `input` سيتم إنشاؤه. + +ربما تكون قد لاحظت وجود أنواع المدخلات `text` و `submit` في تحديات سابقة، و HTML5 قد وفرت خيار حقل `date`. اعتمادا على دعم المتصفح، يظهر منتقي التاريخ في حقل `input` عندما يكون في التركيز، مما يجعل تعبئة النموذج أسهل لجميع المستخدمين. + +بالنسبة إلى المتصفحات الأقدم ، سيكون type افتراضيًا بقيمة ` text ` ،لساعد في إظهار تنسيق التاريخ المتوقع للمستخدمين في `label` أو `placeholder` في النص احتياطيا. + +إليك مثال: + +```html + + +``` + +# --instructions-- + +يقوم Camper Cat بإعداد بطولة Mortal Kombat ويريد أن يطلب من منافسيه معرفة التاريخ الأفضل. أضف وسم `input` مع سمة `type` من نوع `date` ، وسمة `id` بقيمة `pickdate`، و سمة `name` بقيمة `date`. + +# --hints-- + +يجب أن يحتوي الكود علي وسم `input` واحد لحقل محدد التاريخ. + +```js +assert($('input').length == 2); +``` + +يجب أن يحتوي وسم `input` على سمة `type` بقيمة `date`. + +```js +assert($('input').attr('type') == 'date'); +``` + +يجب أن يحتوي وسم `input` على سمة `id` بقيمة `pickdate`. + +```js +assert($('input').attr('id') == 'pickdate'); +``` + +يجب أن يحتوي وسم `input` على سمة `name` بقيمة `date`. + +```js +assert($('input').attr('name') == 'date'); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Tournaments

+
+
+
+

Mortal Kombat Tournament Survey

+
+

Tell us the best date for the competition

+ + + + + + + + + +
+
+
+ + +``` + +# --solutions-- + +```html + +
+

Tournaments

+
+
+
+

Mortal Kombat Tournament Survey

+
+

Tell us the best date for the competition

+ + + +
+
+
+ + +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md new file mode 100644 index 00000000000..2f21941dc92 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information.md @@ -0,0 +1,74 @@ +--- +id: 587d778f367417b2b2512aad +title: >- + تجنب مشاكل عمى الألوان عن طريق اختيار الألوان التي تنقل المعلومات بعناية +challengeType: 0 +videoUrl: 'https://scrimba.com/c/c437as3' +forumTopicId: 301011 +dashedName: >- + avoid-colorblindness-issues-by-carefully-choosing-colors-that-convey-information +--- + +# --description-- + +هناك أشكال مختلفة من عمى الألوان. يمكن أن تتراوح هذه من انخفاض الحساسية إلى طول موجي معين من الضوء إلى عدم القدرة على رؤية اللون على الإطلاق. أكثر الأشكال شيوعاً هو انخفاض الحساسية للكشف عن اللون الأخضر. + +على سبيل المثال، إذا كان لون المحتوى لديك في الواجهة الأمامية والخلفية ذا لون أخضر من درجتين متفاوتتين، قد لا يكون المستخدم المصاب بعمى الألوان قادراً على تمييزهما. يمكن النظر إلى الألوان المتشابهة على أنها جيران على عجلة الألوان، وينبغي تجنب تلك التركيبات عند نقل المعلومات الهامة. + +**ملاحظة:** بعض أدوات اختيار الألوان على الإنترنت تتضمن محاكاة مرئية لكيفية ظهور الألوان لأنواع مختلفة من عمى الألوان. هذه موارد رائعة بالإضافة إلى الآلات الحاسبة للتحقق من التباين عبر الإنترنت. + +# --instructions-- + +تختبر Camper Cat أنماطًا مختلفة لزر مهم ، ولكن اللون الأصفر للخلفة (`#FFFF33`) `background-color` و الاخضر (`#33FF33`) `color`لون النص هي درجات مجاورة على عجلة الألوان ولا يمكن تمييزها فعليًا عند بعض المصابين بعمى الألوان. (خفتهم المتشابهة تفشل أيضًا في فحص نسبة التباين). غيّر لون النص `color` إلى اللون الأزرق المظلم (`#003366`) لحل كلتا المشكلتين. + +# --hints-- + +يجب أن يغير الكود الخاص بك لون نص `color` للزر `button` إلى اللون الأزرق الداكن. + +```js +assert($('button').css('color') == 'rgb(0, 51, 102)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Danger!

+
+ + +``` + +# --solutions-- + +```html + + + + +
+

Danger!

+
+ + +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md new file mode 100644 index 00000000000..133f49e990f --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/avoid-colorblindness-issues-by-using-sufficient-contrast.md @@ -0,0 +1,84 @@ +--- +id: 587d778f367417b2b2512aac +title: تجنب مشاكل عمى الألوان باستخدام تباين كافٍ +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cmzMEUw' +forumTopicId: 301012 +dashedName: avoid-colorblindness-issues-by-using-sufficient-contrast +--- + +# --description-- + +يشكل اللون جزءا كبيرا من التصميم البصري، ولكن استخدامه يطرح مسألتين تتعلقان بإمكانية الوصول. أولا، لا ينبغي استخدام اللون وحده كوسيلة وحيدة لنقل معلومات هامة لأن مستخدمي قارئ الشاشة لن يروها. ثانيًا ، تحتاج ألوان المقدمة والخلفية إلى تباين كافٍ حتى يتمكن المستخدمون الذين يعانون من عمى الألوان من تمييزها. + +شملت التحديات السابقة إيجاد بدائل نصية لمعالجة المسألة الأولى. أدخل التحدي الأخير أدوات للتحقق من التباين للمساعدة مع التحدي الثاني. نسبة التباين 4.5:1 الموصى بها من WCAG تنطبق على استخدام الألوان بالإضافة إلى تركيبات التدرج الرمادي. + +ويواجه المستخدمون الذين يعانون من عمى الألوان مشكلة في التمييز بين بعض الألوان والألوان الأخرى - عادة المشكلة تكون بدرجات اللون ولكن في بعض الأحيان بمدي خفة اللون ايضا. قد تتذكر أنه تم حساب نسبة التباين باستخدام قيم النصوع (أو الإضاءة) النسبية لألوان المقدمة والخلفية. + +من الناحية العملية ، يمكن الوصول إلى نسبة التباين 4.5:1 عن طريق التظليل (إضافة الأسود إلى) اللون الأغمق والتلوين (إضافة الأبيض إلى) اللون الأفتح. تعتبر الظلال الداكنة على عجلة الألوان عبارة عن ظلال من الأزرق والبنفسجي والأرجواني والأحمر ، بينما الألوان الفاتحة هي البرتقالي والأصفر والأخضر والأزرق والأخضر. + +# --instructions-- + +يقوم Camper Cat بتجربة استخدام الألوان لنص مدونته وخلفيتها ، ولكن دمجة الحالي لللون الأخضر للخلفية `background-color` مع لون النص الماروني `color` له نسبة تباين 2.5:1. يمكنك بسهولة ضبط إضاءة الألوان بما اته عرفها، باستخدام خاصية في الـ CSS و هي `hsl()` (التي تمثل hue بمعني التدرج و saturation بمعني التشبع و lightness بمعني الخفة) بتغيير الوسيطة (argument) الثالثة. زيادة قيمة الخفة lightness للون الخلفية `background-color` من 35% إلى 55%، وتقليل قيمة الخفة لـ `color` من 20% إلى 15%. وهذا ما يحسّن التباين إلى 5.9:1. + +# --hints-- + +يجب علي الكود الخاص بك فقط تغيير قيمة الخفة lightness لخاصية `color` للنص إلى قيمة 15%. + +```js +assert(code.match(/color:\s*?hsl\(0,\s*?55%,\s*?15%\)/gi)); +``` + +يجب علي الكود الخاص بك فقط تغيير قيمة الخفة lightness لخاصية `background-color` إلى قيمة 55%. + +```js +assert(code.match(/background-color:\s*?hsl\(120,\s*?25%,\s*?55%\)/gi)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` + +# --solutions-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md new file mode 100644 index 00000000000..91ab935f674 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/give-links-meaning-by-using-descriptive-link-text.md @@ -0,0 +1,75 @@ +--- +id: 587d778f367417b2b2512aae +title: Give Links Meaning by Using Descriptive Link Text +challengeType: 0 +videoUrl: 'https://scrimba.com/c/c437DcV' +forumTopicId: 301013 +dashedName: give-links-meaning-by-using-descriptive-link-text +--- + +# --description-- + +Screen reader users have various options for what type of content their device reads. These options include skipping to (or over) landmark elements, jumping to the main content, or getting a page summary from the headings. Another option is to only hear the links available on a page. + +Screen readers do this by reading the link text, or what's between the anchor (`a`) tags. Having a list of "click here" or "read more" links isn't helpful. Instead, use brief but descriptive text within the `a` tags to provide more meaning for these users. + +# --instructions-- + +The link text that Camper Cat is using is not very descriptive without the surrounding context. Move the anchor (`a`) tags so they wrap around the text `information about batteries` instead of `Click here`. + +# --hints-- + +Your code should move the anchor `a` tags from around the words `Click here` to wrap around the words `information about batteries`. + +```js +assert( + $('a') + .text() + .match(/^(information about batteries)$/g) +); +``` + +The `a` element should have an `href` attribute with a value of an empty string `""`. + +```js +assert($('a').attr('href') === ''); +``` + +The `a` element should have a closing tag. + +```js +assert( + code.match(/<\/a>/g) && + code.match(/<\/a>/g).length === code.match(//g).length +); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near. Click here for information about batteries

+
+ +``` + +# --solutions-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near. Click here for information about batteries

+
+ +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md new file mode 100644 index 00000000000..8e5ff50fc46 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-accessibility-of-audio-content-with-the-audio-element.md @@ -0,0 +1,115 @@ +--- +id: 587d7789367417b2b2512aa4 +title: Improve Accessibility of Audio Content with the audio Element +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cVJVkcZ' +forumTopicId: 301014 +dashedName: improve-accessibility-of-audio-content-with-the-audio-element +--- + +# --description-- + +HTML5's `audio` element gives semantic meaning when it wraps sound or audio stream content in your markup. Audio content also needs a text alternative to be accessible to people who are deaf or hard of hearing. This can be done with nearby text on the page or a link to a transcript. + +The `audio` tag supports the `controls` attribute. This shows the browser default play, pause, and other controls, and supports keyboard functionality. This is a boolean attribute, meaning it doesn't need a value, its presence on the tag turns the setting on. + +Here's an example: + +```html + +``` + +**Note:** Multimedia content usually has both visual and auditory components. It needs synchronized captions and a transcript so users with visual and/or auditory impairments can access it. Generally, a web developer is not responsible for creating the captions or transcript, but needs to know to include them. + +# --instructions-- + +Time to take a break from Camper Cat and meet fellow camper Zersiax (@zersiax), a champion of accessibility and a screen reader user. To hear a clip of his screen reader in action, add an `audio` element after the `p`. Include the `controls` attribute. Then place a `source` tag inside the `audio` tags with the `src` attribute set to `https://s3.amazonaws.com/freecodecamp/screen-reader.mp3` and `type` attribute set to `"audio/mpeg"`. + +**Note:** The audio clip may sound fast and be difficult to understand, but that is a normal speed for screen reader users. + +# --hints-- + +Your code should have one `audio` tag. + +```js +assert($('audio').length === 1); +``` + +Your `audio` element should have a closing tag. + +```js +assert( + code.match(/<\/audio>/g).length === 1 && + code.match(/[\s\S]*<\/audio>/g) +); +``` + +The `audio` tag should have the `controls` attribute. + +```js +assert($('audio').attr('controls')); +``` + +Your code should have one `source` tag. + +```js +assert($('source').length === 1); +``` + +Your `source` tag should be inside the `audio` tags. + +```js +assert($('audio').children('source').length === 1); +``` + +The value for the `src` attribute on the `source` tag should match the link in the instructions exactly. + +```js +assert( + $('source').attr('src') === + 'https://s3.amazonaws.com/freecodecamp/screen-reader.mp3' +); +``` + +Your code should include a `type` attribute on the `source` tag with a value of audio/mpeg. + +```js +assert($('source').attr('type') === 'audio/mpeg'); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Real Coding Ninjas

+
+
+

A sound clip of Zersiax's screen reader in action.

+ + + +
+ +``` + +# --solutions-- + +```html + +
+

Real Coding Ninjas

+
+
+

A sound clip of Zersiax's screen reader in action.

+ +
+ +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md new file mode 100644 index 00000000000..d677e66b940 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-chart-accessibility-with-the-figure-element.md @@ -0,0 +1,161 @@ +--- +id: 587d778a367417b2b2512aa5 +title: Improve Chart Accessibility with the figure Element +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cGJMqtE' +forumTopicId: 301015 +dashedName: improve-chart-accessibility-with-the-figure-element +--- + +# --description-- + +HTML5 introduced the `figure` element and the related `figcaption`. Used together, these items wrap a visual representation (like an image, diagram, or chart) along with its caption. Wrapping these elements together gives a two-fold accessibility boost by semantically grouping related content and providing a text alternative explaining the `figure`. + +For data visualizations like charts, the caption can be used to briefly note the trends or conclusions for users with visual impairments. Another challenge covers how to move a table version of the chart's data off-screen (using CSS) for screen reader users. + +Here's an example - note that the `figcaption` goes inside the `figure` tags and can be combined with other elements: + +```html +
+ Photo of Camper Cat executing a roundhouse kick +
+
+ Master Camper Cat demonstrates proper form of a roundhouse kick. +
+
+``` + +# --instructions-- + +Camper Cat is hard at work creating a stacked bar chart showing the amount of time per week to spend training in stealth, combat, and weapons. Help him structure his page better by changing the `div` tag he used to a `figure` tag, and the `p` tag that surrounds the caption to a `figcaption` tag. + +# --hints-- + +Your code should have one `figure` tag. + +```js +assert($('figure').length == 1); +``` + +Your code should have one `figcaption` tag. + +```js +assert($('figcaption').length == 1); +``` + +Your code should not have any `div` tags. + +```js +assert($('div').length == 0); +``` + +Your code should not have any `p` tags. + +```js +assert($('p').length == 0); +``` + +The `figcaption` should be a child of the `figure` tag. + +```js +assert($('figure').children('figcaption').length == 1); +``` + +Your `figure` element should have a closing tag. + +```js +assert( + code.match(/<\/figure>/g) && + code.match(/<\/figure>/g).length === code.match(/
/g).length +); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Training

+ +
+
+
+ + +
+ +
+

Breakdown per week of time to spend training in stealth, combat, and weapons.

+
+ + +
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+
© 2018 Camper Cat
+ +``` + +# --solutions-- + +```html + +
+

Training

+ +
+
+
+
+ +
+
Breakdown per week of time to spend training in stealth, combat, and weapons.
+
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md new file mode 100644 index 00000000000..55492a9a50e --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-form-field-accessibility-with-the-label-element.md @@ -0,0 +1,119 @@ +--- +id: 587d778a367417b2b2512aa6 +title: Improve Form Field Accessibility with the label Element +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cGJMMAN' +forumTopicId: 301016 +dashedName: improve-form-field-accessibility-with-the-label-element +--- + +# --description-- + +Improving accessibility with semantic HTML markup applies to using both appropriate tag names and attributes. The next several challenges cover some important scenarios using attributes in forms. + +The `label` tag wraps the text for a specific form control item, usually the name or label for a choice. This ties meaning to the item and makes the form more readable. The `for` attribute on a `label` tag explicitly associates that `label` with the form control and is used by screen readers. + +You learned about radio buttons and their labels in a lesson in the Basic HTML section. In that lesson, we wrapped the radio button input element inside a `label` element along with the label text in order to make the text clickable. Another way to achieve this is by using the `for` attribute, as explained in this lesson. + +The value of the `for` attribute must be the same as the value of the `id` attribute of the form control. Here's an example: + +```html +
+ + +
+``` + +# --instructions-- + +Camper Cat expects a lot of interest in his thoughtful blog posts and wants to include an email sign up form. Add a `for` attribute on the email `label` that matches the `id` on its `input` field. + +# --hints-- + +Your code should have a `for` attribute on the `label` tag that is not empty. + +```js +assert($('label').attr('for')); +``` + +Your `for` attribute value should match the `id` value on the email `input`. + +```js +assert($('label').attr('for') == 'email'); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+
+

Sign up to receive Camper Cat's blog posts by email here!

+ + + + + + + +
+
+
+

The Garfield Files: Lasagna as Training Fuel?

+

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+ +
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near...

+
+ +
+

Is Chuck Norris a Cat Person?

+

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence that anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` + +# --solutions-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+
+

Sign up to receive Camper Cat's blog posts by email here!

+ + + + + + + +
+
+
+

The Garfield Files: Lasagna as Training Fuel?

+

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+ +
+

Defeating your Foe: the Red Dot is Ours!

+

Felines the world over have been waging war on the most persistent of foes. This red nemesis combines both cunning stealth and lightning speed. But chin up, fellow fighters, our time for victory may soon be near...

+
+ +
+

Is Chuck Norris a Cat Person?

+

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence that anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md new file mode 100644 index 00000000000..8bf9b62cf57 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/improve-readability-with-high-contrast-text.md @@ -0,0 +1,80 @@ +--- +id: 587d778e367417b2b2512aab +title: Improve Readability with High Contrast Text +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cKb3nCq' +forumTopicId: 301017 +dashedName: improve-readability-with-high-contrast-text +--- + +# --description-- + +Low contrast between the foreground and background colors can make text difficult to read. Sufficient contrast improves your content's readability, but what exactly does "sufficient" mean? + +The Web Content Accessibility Guidelines (WCAG) recommend at least a 4.5 to 1 contrast ratio for normal text. The ratio is calculated by comparing the relative luminance values of two colors. This ranges from 1:1 for the same color, or no contrast, to 21:1 for white against black, the most substantial contrast. There are many contrast checking tools available online that calculate this ratio for you. + +# --instructions-- + +Camper Cat's choice of light gray text on a white background for his recent blog post has a 1.5:1 contrast ratio, making it hard to read. Change the `color` of the text from the current gray (`#D3D3D3`) to a darker gray (`#636363`) to improve the contrast ratio to 6:1. + +# --hints-- + +Your code should change the text `color` for the `body` to the darker gray. + +```js +assert($('body').css('color') == 'rgb(99, 99, 99)'); +``` + +Your code should not change the `background-color` for the `body`. + +```js +assert($('body').css('background-color') == 'rgb(255, 255, 255)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` + +# --solutions-- + +```html + + + + +
+

Deep Thoughts with Master Camper Cat

+
+
+

A Word on the Recent Catnip Doping Scandal

+

The influence that catnip has on feline behavior is well-documented, and its use as an herbal supplement in competitive ninja circles remains controversial. Once again, the debate to ban the substance is brought to the public's attention after the high-profile win of Kittytron, a long-time proponent and user of the green stuff, at the Claw of Fury tournament.

+

As I've stated in the past, I firmly believe a true ninja's skills must come from within, with no external influences. My own catnip use shall continue as purely recreational.

+
+ +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md new file mode 100644 index 00000000000..83031edde59 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/jump-straight-to-the-content-using-the-main-element.md @@ -0,0 +1,62 @@ +--- +id: 587d774e367417b2b2512a9f +title: Jump Straight to the Content Using the main Element +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cPp7zuE' +forumTopicId: 301018 +dashedName: jump-straight-to-the-content-using-the-main-element +--- + +# --description-- + +HTML5 introduced several new elements that give developers more options while also incorporating accessibility features. These tags include `main`, `header`, `footer`, `nav`, `article`, and `section`, among others. + +By default, a browser renders these elements similar to the humble `div`. However, using them where appropriate gives additional meaning to your markup. The tag name alone can indicate the type of information it contains, which adds semantic meaning to that content. Assistive technologies can access this information to provide better page summary or navigation options to their users. + +The `main` element is used to wrap (you guessed it) the main content, and there should be only one per page. It's meant to surround the information related to your page's central topic. It's not meant to include items that repeat across pages, like navigation links or banners. + +The `main` tag also has an embedded landmark feature that assistive technology can use to navigate to the main content quickly. If you've ever seen a "Jump to Main Content" link at the top of a page, using the `main` tag automatically gives assistive devices that functionality. + +# --instructions-- + +Camper Cat has some big ideas for his ninja weapons page. Help him set up his markup by adding opening and closing `main` tags between the `header` and `footer` (covered in other challenges). Keep the `main` tags empty for now. + +# --hints-- + +Your code should have one `main` tag. + +```js +assert($('main').length == 1); +``` + +The `main` tags should be between the closing `header` tag and the opening `footer` tag. + +```js +assert(code.match(/<\/header>\s*?
\s*?<\/main>/gi)); +``` + +# --seed-- + +## --seed-contents-- + +```html +
+

Weapons of the Ninja

+
+ + + +
+``` + +# --solutions-- + +```html +
+

Weapons of the Ninja

+
+
+ +
+
+``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md new file mode 100644 index 00000000000..695445ea37e --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/know-when-alt-text-should-be-left-blank.md @@ -0,0 +1,76 @@ +--- +id: 587d774c367417b2b2512a9d +title: Know When Alt Text Should be Left Blank +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cM9P4t2' +forumTopicId: 301019 +dashedName: know-when-alt-text-should-be-left-blank +--- + +# --description-- + +In the last challenge, you learned that including an `alt` attribute when using `img` tags is mandatory. However, sometimes images are grouped with a caption already describing them, or are used for decoration only. In these cases, `alt` text may seem redundant or unnecessary. + +When an image is already explained with text content or does not add meaning to a page, the `img` still needs an `alt` attribute, but it can be set to an empty string. Here's an example: + +```html + +``` + +Background images usually fall under the 'decorative' label as well. However, they are typically applied with CSS rules, and therefore not part of the markup screen readers process. + +**Note:** For images with a caption, you may still want to include `alt` text since it helps search engines catalog the image's content. + +# --instructions-- + +Camper Cat has coded a skeleton page for the blog part of his website. He's planning to add a visual break between his two articles with a decorative image of a samurai sword. Add an `alt` attribute to the `img` tag and set it to an empty string. (Note that the image `src` doesn't link to an actual file - don't worry that there are no swords showing in the display.) + +# --hints-- + +Your `img` tag should have an `alt` attribute. + +```js +assert(!($('img').attr('alt') == undefined)); +``` + +The `alt` attribute should be set to an empty string. + +```js +assert($('img').attr('alt') == ''); +``` + +# --seed-- + +## --seed-contents-- + +```html +

Deep Thoughts with Master Camper Cat

+
+

Defeating your Foe: the Red Dot is Ours!

+

To Come...

+
+ + + +
+

Is Chuck Norris a Cat Person?

+

To Come...

+
+``` + +# --solutions-- + +```html +

Deep Thoughts with Master Camper Cat

+
+

Defeating your Foe: the Red Dot is Ours!

+

To Come...

+
+ + + +
+

Is Chuck Norris a Cat Person?

+

To Come...

+
+``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md new file mode 100644 index 00000000000..63bfea4b75c --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-elements-only-visible-to-a-screen-reader-by-using-custom-css.md @@ -0,0 +1,244 @@ +--- +id: 587d778d367417b2b2512aaa +title: Make Elements Only Visible to a Screen Reader by Using Custom CSS +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cJ8QGkhJ' +forumTopicId: 301020 +dashedName: make-elements-only-visible-to-a-screen-reader-by-using-custom-css +--- + +# --description-- + +Have you noticed that all of the applied accessibility challenges so far haven't used any CSS? This shows the importance of using a logical document outline and semantically meaningful tags around your content before introducing the visual design aspect. + +However, CSS's magic can also improve accessibility on your page when you want to visually hide content meant only for screen readers. This happens when information is in a visual format (like a chart), but screen reader users need an alternative presentation (like a table) to access the data. CSS is used to position the screen reader-only elements off the visual area of the browser window. + +Here's an example of the CSS rules that accomplish this: + +```css +.sr-only { + position: absolute; + left: -10000px; + width: 1px; + height: 1px; + top: auto; + overflow: hidden; +} +``` + +**Note:** The following CSS approaches will NOT do the same thing: + +
    +
  • display: none; or visibility: hidden; hides content for everyone, including screen reader users
  • +
  • Zero values for pixel sizes, such as width: 0px; height: 0px; removes that element from the flow of your document, meaning screen readers will ignore it
  • +
+ +# --instructions-- + +Camper Cat created a really cool stacked bar chart for his training page, and put the data into a table for his visually impaired users. The table already has an `sr-only` class, but the CSS rules aren't filled in yet. Give the `position` an `absolute` value, the `left` a `-10000px` value, and the `width` and `height` both `1px` values. + +# --hints-- + +Your code should set the `position` property of the `sr-only` class to a value of `absolute`. + +```js +assert($('.sr-only').css('position') == 'absolute'); +``` + +Your code should set the `left` property of the `sr-only` class to a value of `-10000px`. + +```js +assert($('.sr-only').css('left') == '-10000px'); +``` + +Your code should set the `width` property of the `sr-only` class to a value of `1` pixel. + +```js +assert(code.match(/width:\s*?1px/gi)); +``` + +Your code should set the `height` property of the `sr-only` class to a value of `1` pixel. + +```js +assert(code.match(/height:\s*?1px/gi)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + +
+

Training

+ +
+
+

Master Camper Cat's Beginner Three Week Training Program

+
+ +

[Stacked bar chart]

+
+
Breakdown per week of time to spend training in stealth, combat, and weapons.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hours of Weekly Training in Stealth, Combat, and Weapons
Stealth & AgilityCombatWeaponsTotal
Week One35210
Week Two45312
Week Three46313
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye, world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
© 2018 Camper Cat
+ +``` + +# --solutions-- + +```html + + + + +
+

Training

+ +
+
+

Master Camper Cat's Beginner Three Week Training Program

+
+ +

[Stacked bar chart]

+
+
Breakdown per week of time to spend training in stealth, combat, and weapons.
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Hours of Weekly Training in Stealth, Combat, and Weapons
Stealth & AgilityCombatWeaponsTotal
Week One35210
Week Two45312
Week Three46313
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye, world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md new file mode 100644 index 00000000000..ba72f6d7976 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-links-navigable-with-html-access-keys.md @@ -0,0 +1,106 @@ +--- +id: 587d7790367417b2b2512aaf +title: Make Links Navigable with HTML Access Keys +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cQvmaTp' +forumTopicId: 301021 +dashedName: make-links-navigable-with-html-access-keys +--- + +# --description-- + +HTML offers the `accesskey` attribute to specify a shortcut key to activate or bring focus to an element. Adding an `accesskey` attribute can make navigation more efficient for keyboard-only users. + +HTML5 allows this attribute to be used on any element, but it's particularly useful when it's used with interactive ones. This includes links, buttons, and form controls. + +Here's an example: + +```html + +``` + +# --instructions-- + +Camper Cat wants the links around the two blog article titles to have keyboard shortcuts so his site's users can quickly navigate to the full story. Add an `accesskey` attribute to both links and set the first one to `g` (for Garfield) and the second one to `c` (for Chuck Norris). + +# --hints-- + +Your code should add an `accesskey` attribute to the `a` tag with the `id` of `first`. + +```js +assert($('#first').attr('accesskey')); +``` + +Your code should add an `accesskey` attribute to the `a` tag with the `id` of `second`. + +```js +assert($('#second').attr('accesskey')); +``` + +Your code should set the `accesskey` attribute on the `a` tag with the `id` of `first` to `g`. Note that case matters. + +```js +assert($('#first').attr('accesskey') == 'g'); +``` + +Your code should set the `accesskey` attribute on the `a` tag with the `id` of `second` to `c`. Note that case matters. + +```js +assert($('#second').attr('accesskey') == 'c'); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+ + +

The Garfield Files: Lasagna as Training Fuel?

+ + +

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+
+ + +

Is Chuck Norris a Cat Person?

+ + +

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence that anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` + +# --solutions-- + +```html + +
+

Deep Thoughts with Master Camper Cat

+
+
+ + +

The Garfield Files: Lasagna as Training Fuel?

+ + +

The internet is littered with varying opinions on nutritional paradigms, from catnip paleo to hairball cleanses. But let's turn our attention to an often overlooked fitness fuel, and examine the protein-carb-NOM trifecta that is lasagna...

+
+
+ + +

Is Chuck Norris a Cat Person?

+ + +

Chuck Norris is widely regarded as the premier martial artist on the planet, and it's a complete coincidence that anyone who disagrees with this fact mysteriously disappears soon after. But the real question is, is he a cat person?...

+
+
© 2018 Camper Cat
+ +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md new file mode 100644 index 00000000000..3330ea186d7 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-footer-landmark.md @@ -0,0 +1,116 @@ +--- +id: 587d7788367417b2b2512aa3 +title: Make Screen Reader Navigation Easier with the footer Landmark +challengeType: 0 +videoUrl: 'https://scrimba.com/c/crVrDh8' +forumTopicId: 301022 +dashedName: make-screen-reader-navigation-easier-with-the-footer-landmark +--- + +# --description-- + +Similar to `header` and `nav`, the `footer` element has a built-in landmark feature that allows assistive devices to quickly navigate to it. It's primarily used to contain copyright information or links to related documents that usually sit at the bottom of a page. + +# --instructions-- + +Camper Cat's training page is making good progress. Change the `div` he used to wrap his copyright information at the bottom of the page to a `footer` element. + +# --hints-- + +Your code should have one `footer` tag. + +```js +assert($('footer').length == 1); +``` + +Your code should not have any `div` tags. + +```js +assert($('div').length == 0); +``` + +Your code should have an opening and closing `footer` tag. + +```js +assert(code.match(/
\s*© 2018 Camper Cat\s*<\/footer>/g)); +``` + +# --seed-- + +## --seed-contents-- + +```html + +
+

Training

+ +
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+ + +
© 2018 Camper Cat
+ + + +``` + +# --solutions-- + +```html + +
+

Training

+ +
+
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+ + +
© 2018 Camper Cat
+ + + +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md new file mode 100644 index 00000000000..babce017089 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md @@ -0,0 +1,111 @@ +--- +id: 587d7787367417b2b2512aa1 +title: تسهيل تصفح قارئ الشاشة مع علامة الرأس header +challengeType: 0 +videoUrl: 'https://scrimba.com/c/cB76vtv' +forumTopicId: 301023 +dashedName: make-screen-reader-navigation-easier-with-the-header-landmark +--- + +# --description-- + +عنصر الـ HTML5 التالي الذي يضيف المعنى الدلالي ويحسن إمكانية الوصول هو عنصر الـ `header`. يستخدم لإحتواء المعلومات التمهيدية أو روابط التنقل لعنصره الاساسي ويعمل بشكل جيد مع المحتوى المتكرر في الأعلى على الصفحات متعددة. + +`header` يشاركك الميزة البارزة المدمجة التي رأيتها مع `main`، مما يسمح للتكنولوجيات المساعدة بالانتقال بسرعة إلى ذلك المحتوى. + +**ملاحظة:** عنصر الـ `header` يستخدم في عنصر `body` بمستند HTML الخاص بك. وهذا يختلف عن عن عنصر الـ `head` الذي يحتوي على عنوان الصفحة، معلومات تعريفية، و الخ. + +# --instructions-- + +يقوم Camper Cat بكتابة بعض المقالات الرائعة عن تدريب النينجا، ويريد إضافة صفحة لهم على موقعه. قم بتغيير `div` العلوية التي تحتوي حاليا على `h1` إلى عنصر `header` بدلا من ذلك. + +# --hints-- + +يجب أن يحتوي الكود الخاص بك على `header` واحد فقط. + +```js +assert($('header').length == 1); +``` + +يجب أن يحتوي عنصر `header` عنصر الـ `h1`. + +```js +assert($('header').children('h1').length == 1); +``` + +يجب ألا يحتوي الكود الخاص بك على أي عنصر `div`. + +```js +assert($('div').length == 0); +``` + +يجب أن يحتوي عنصر `header` الخاص بك على علامة إغلاق. + +```js +assert( + code.match(/<\/header>/g) && + code.match(/<\/header>/g).length === code.match(/
/g).length +); +``` + +# --seed-- + +## --seed-contents-- + +```html + + +
+

Training with Camper Cat

+
+ + +
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+ +``` + +# --solutions-- + +```html + + +
+

Training with Camper Cat

+
+ + +
+
+

Stealth & Agility Training

+

Climb foliage quickly using a minimum spanning tree approach

+

No training is NP-complete without parkour

+
+
+

Combat Training

+

Dispatch multiple enemies with multithreaded tactics

+

Goodbye world: 5 proven ways to knock out an opponent

+
+
+

Weapons Training

+

Swords: the best tool to literally divide and conquer

+

Breadth-first or depth-first in multi-weapon training?

+
+
+ +``` diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md new file mode 100644 index 00000000000..906d7dd5c83 --- /dev/null +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md @@ -0,0 +1,121 @@ +--- +id: 587d7788367417b2b2512aa2 +title: Make Screen Reader Navigation Easier with the nav Landmark +challengeType: 0 +videoUrl: 'https://scrimba.com/c/czVwWSv' +forumTopicId: 301024 +dashedName: make-screen-reader-navigation-easier-with-the-nav-landmark +--- + +# --description-- + +The `nav` element is another HTML5 item with the embedded landmark feature for easy screen reader navigation. This tag is meant to wrap around the main navigation links in your page. + +If there are repeated site links at the bottom of the page, it isn't necessary to markup those with a `nav` tag as well. Using a `footer` (covered in the next challenge) is sufficient. + +# --instructions-- + +Camper Cat included navigation links at the top of his training page, but wrapped them in a `div`. Change the `div` to a `nav` tag to improve the accessibility on his page. + +# --hints-- + +Your code should have one `nav` tag. + +```js +assert($('nav').length == 1); +``` + +Your `nav` tags should wrap around the `ul` and its list items. + +```js +assert($('nav').children('ul').length == 1); +``` + +Your code should not have any `div` tags. + +```js +assert($('div').length == 0); +``` + +Your `nav` element should have a closing tag. + +```js +assert( + code.match(/<\/nav>/g) && + code.match(/<\/nav>/g).length === code.match(/
+ + + +``` + +```css +main { + text-align: center; + background-color: #92869c; + background-blend-mode: lighten; + max-width: 500px; + margin: 20px auto; + border-radius: 50px; + box-shadow: 10px 10px rgba(0, 0, 0, 0.5); + color: black; +} +body { + text-align: center; + background: #3a3240; + color: white; +} +input, textarea, select, button { + background: #3a3240; + color: white; +} +a { + color: white; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-technical-documentation-page-project/build-a-technical-documentation-page.md b/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-technical-documentation-page-project/build-a-technical-documentation-page.md new file mode 100644 index 00000000000..b926d6af759 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-technical-documentation-page-project/build-a-technical-documentation-page.md @@ -0,0 +1,529 @@ +--- +id: 587d78b0367417b2b2512b05 +title: مشروع بناء صفحة التوثيق التقني +challengeType: 14 +forumTopicId: 301146 +dashedName: build-a-technical-documentation-page +--- + +# --description-- + +**Objective:** قم ببناء تطبيق يشبه وظيفيا إلى https://technical-documentation-page.freecodecamp.rocks + +**المتطلبات:** + +1. يمكنك مشاهدة عنصر `main` مع `id="main-doc"`، والذي يحتوي على المحتوى الرئيسي للصفحة (الوثائق التقنية) +1. ضمن عنصر `#main-doc` ، يمكنك رؤية عدة عناصر `section`، كل منها مع class بقيمة `main-section`. وينبغي أن يكون هناك خمسة على الأقل +1. العنصر الأول في كل `.main-section` يجب أن يكون عنصر `header`، والذي يحتوي على نص يصف موضوع ذلك القسم. +1. كل عنصر من عناصر `section` مع class بقيمة `main-section` يجب أن يكون لديه `id` يتوافق مع نص كل `header` موجود داخله. يجب استبدال أي مسافات بتسطير سفلي (underscore) (على سبيل المثال القسم الذي يحتوي على header "JavaScript and Java" يجب أن يكون لديه `id="JavaScript_and_Java"`) +1. عناصر `.main-section` يجب أن تحتوي على الأقل على عشرة عناصر `p` إجمالية (ليس لكل واحد) +1. يجب أن تحتوي عناصر `.main-section` على خمسة عناصر `code` كلية (ليس لكل منها) +1. يجب أن تحتوي عناصر `.main-section` على خمسة عناصر `li` كلية (ليس لكل منها) +1. يمكنك رؤية عنصر `nav` مع `id="navbar"` +1. يجب أن يحتوي عنصر navbar على عنصر `header` يحتوي على نص يصف موضوع الوثائق التقنية +1. بالإضافة إلى ذلك، يجب أن يحتوي navbar على عناصر للروابط (`a`) مع class بقيمة `nav-link`. يجب أن يكون هناك واحد لكل عنصر `main-section` +1. عنصر `header` في `#navbar` يجب أن يأتي قبل أي رابط (`a`) في الـ navbar +1. يجب أن يحتوي كل عنصر من class بقيمة `nav-link` على نص يطابق نص `header` داخل كل `section` (على سبيل المثال ، إذا كان لديك "Hello world" section/header، يجب أن يحتوي الـ navbar الخاص بك على عنصر يحتوي على النص" Hello world ") +1. عند النقر على عنصر navbar، يجب أن تنتقل الصفحة إلى القسم المقابل من عنصر `#main-doc` (على سبيل المثال. إذا قمت بالنقر على عنصر `.nav-link` الذي يحتوي على النص "Hello world"، الصفحة تنتقل إلى عنصر `section` بهذا الـ id ، وتحتوي على الـ header المقابل) +1. على الأجهزة العادية الحجم (الحواسيب المحمولة، الحواسيب المكتبية)، يجب أن يظهر العنصر `id="navbar"` على الجانب الأيسر من الشاشة ويجب أن يكون دائماً مرئيًا للمستخدم +1. الوثائق التقنية الخاصة بك يجب أن تستخدم media query واحد على الأقل + +أكمل المطلبيات و قم باجتياز جميع الاختبارات أدناه لإكمال هذا المشروع. أعطيها أسلوبك الشخصي الخاص. برمجة سعيدة! + +**ملاحظة:** تأكد من إضافة `` في HTML الخاص بك لربط ورقة الأنماط الخاصة بك وتطبيق CSS + +# --hints-- + +يجب أن يكون لديك عنصر `main` مع `id` بقيمة `main-doc`. + +```js +const el = document.getElementById('main-doc') +assert(!!el) +``` + +يجب أن يكون لديك على الأقل خمسة عناصر `section` مع class بقيمة `main-section`. + +```js +const els = document.querySelectorAll('#main-doc section') +assert(els.length >= 5) +``` + +جميع عناصر `.main-section` يجب أن تكون عناصر `section`. + +```js +const els = document.querySelectorAll('.main-section') +els.forEach(el => { + if (el.tagName !== 'SECTION') assert(false) +}) +assert(els.length > 0) +``` + +يجب أن يكون لديك على الأقل خمسة عناصر `.main-section` تابعة لـ `#main-doc`. + +```js +const els = document.querySelectorAll('#main-doc .main-section') +assert(els.length >= 5) +``` + +أول طفل (child) لكل `.main-section` يجب أن يكون عنصر `header`. + +```js +const els = document.querySelectorAll('.main-section') +els.forEach(el => { + if(el.firstElementChild?.tagName !== 'HEADER') assert(false) +}) +assert(els.length > 0) +``` + +يجب ألا يكون أي عنصر من عناصر `header` فارغاً. + +```js +const els = document.querySelectorAll('header') +els.forEach(el => { + if (el.innerText?.length <= 0) assert(false) +}) +assert(els.length > 0) +``` + +جميع عناصر `.main-section` يجب أن يكون لديها `id`. + +```js +const els = document.querySelectorAll('.main-section') +els.forEach(el => { + if (!el.id || el.id === '') assert(false) +}) +assert(els.length > 0) +``` + +يجب أن يحتوي كل `.main-section` على `id` يطابق نص طفله الأول ، مع استبدال أي مسافات في نص الطفل بالشرطات السفلية (`_`) للـ id's. + +```js +const els = document.querySelectorAll('.main-section') +els.forEach(el => { + const text = el.firstElementChild?.innerText?.replaceAll(' ', '_') + if (el.id?.toUpperCase() !== text?.toUpperCase()) assert(false) +}) +assert(els.length > 0) +``` + +يجب أن يكون لديك على الأقل 10 عناصر `p` (إجمالي) داخل عناصر `.main-section`. + +```js +const els = document.querySelectorAll('.main-section p') +assert(els.length >= 10) +``` + +يجب أن يكون لديك على الأقل خمسة عناصر `code` تابعة لـ `.main-section`. + +```js +const els = document.querySelectorAll('.main-section code') +assert(els.length >= 5) +``` + +يجب أن يكون لديك على الأقل خمسة عناصر `li` تابعة لـ `.main-section`. + +```js +const els = document.querySelectorAll('.main-section li') +assert(els.length >= 5) +``` + +يجب أن يكون لديك عنصر `nav` مع `id` بقيمة `navbar`. + +```js +const el = document.getElementById('navbar') +assert(!!el && el.tagName === 'NAV') +``` + +`#navbar` يجب أن يحتوي على عنصر واحد `header` داخله. + +```js +const els = document.querySelectorAll('#navbar header') +assert(els.length === 1) +``` + +يجب أن يكون لديك عنصر `a` واحد على الأقل مع class بقيمة `nav-link`. + +```js +const els = document.querySelectorAll('a.nav-link') +assert(els.length >= 1) +``` + +جميع عناصر `.nav-link` يجب أن تكون روابط (`a`). + +```js +const els = document.querySelectorAll('.nav-link') +els.forEach(el => { + if (el.tagName !== 'A') assert(false) +}) +assert(els.length > 0) +``` + +جميع عناصر `.nav-link` يجب أن تكون في `#navbar`. + +```js +const els1 = document.querySelectorAll('.nav-link') +const els2 = document.querySelectorAll('#navbar .nav-link') +assert(els2.length > 0 && els1.length === els2.length) +``` + +يجب أن يكون لديك نفس العدد من عناصر `.nav-link` و `.main-section`. + +```js +const els1 = document.querySelectorAll('.main-section') +const els2 = document.querySelectorAll('.nav-link') +assert(els1.length > 0 && els2.length > 0 && els1.length === els2.length) +``` + +عنصر `header` في `#navbar` يجب أن يأتي قبل أي رابط (`a`) أيضا في `#navbar`. + +```js +const navLinks = document.querySelectorAll('#navbar a.nav-link'); +const header = document.querySelector('#navbar header'); +navLinks.forEach((navLink) => { + if ( + ( + header.compareDocumentPosition(navLink) & + Node.DOCUMENT_POSITION_PRECEDING + ) + ) assert(false) +}); +assert(!!header) +``` + +يجب أن يحتوي كل `.nav-link` على نص يتوافق مع نص `header` في الـ `section` ذي الصلة (على سبيل المثال ، إذا كان لديك "Hello world" section/header، يجب أن يحتوي `#navbar` على `.nav-link` الذي يحتوي على النص "Hello world"). + +```js +const headerText = Array.from(document.querySelectorAll('.main-section')).map(el => + el.firstElementChild?.innerText?.trim().toUpperCase() +) +const linkText = Array.from(document.querySelectorAll('.nav-link')).map(el => + el.innerText?.trim().toUpperCase() +) +const remainder = headerText.filter(str => linkText.indexOf(str) === -1) +assert(headerText.length > 0 && headerText.length > 0 && remainder.length === 0) +``` + +يجب أن يكون لكل `.nav-link` سمة `href` التي تربط مع `.main-section` (على سبيل المثال ، إذا نقرت على العنصر `.nav-link` الذي يحتوي على النص "Hello world" ، تنتقل الصفحة إلى عنصر `section` بهذا الـ id). + +```js +const hrefValues = Array.from(document.querySelectorAll('.nav-link')).map(el => el.getAttribute('href')) +const mainSectionIDs = Array.from(document.querySelectorAll('.main-section')).map(el => el.id) +const missingHrefValues = mainSectionIDs.filter(str => hrefValues.indexOf('#' + str) === -1) +assert(hrefValues.length > 0 && mainSectionIDs.length > 0 && missingHrefValues.length === 0) +``` + +`#navbar` الخاص بك يجب أن يكون دائماً على الحافة اليسرى للنافذة. + +```js +const el = document.getElementById('navbar') +const left1 = el?.offsetLeft +const left2 = el?.offsetLeft +assert(!!el && left1 >= -15 && left1 <= 15 && left2 >= -15 && left2 <= 15) +``` + +مشروع التوثيق التقني الخاص بك يجب أن يستخدم media query واحد على الأقل. + +```js +const htmlSourceAttr = Array.from(document.querySelectorAll('source')).map(el => el.getAttribute('media')) +const cssCheck = new __helpers.CSSHelp(document).getCSSRules('media') +assert(cssCheck.length > 0 || htmlSourceAttr.length > 0); +``` + +# --seed-- + +## --seed-contents-- + +```html + +``` + +```css + +``` + +## --solutions-- + +```html + + + + + + Technical Documentation Page + + + +
+
+
Introduction
+

+ Welcome to a basic introduction of algebra. In this tutorial, we will + review some of the more common algebraic concepts. +

+
+
+
Definitions
+

+ To start with, let's define some of the more common terms used in + algebra: +

+
    +
  • + Variable: A variable is an unknown value, usually represented + by a letter. +
  • +
  • + Expression: Essentially a mathematical object. For the + purpose of this tutorial, an expression is one part of an equation. +
  • +
  • + Equation: An equation is a mathematical argument in which two + expressions result in the same value. +
  • +
+
+
+
Examples
+

+ Sometimes it is easier to understand the definitions when you have a + physical example to look at. Here is an example of the above terms.

+ x + 5 = 12

+ In this above example, we have: +

+
    +
  • Variable: The variable in the example is "x".
  • +
  • + Expression: There are two expressions in this example. They + are "x+5" and "12". +
  • +
  • + Equation: The entire example, "x+5=12", is an equation. +
  • +
+
+
+
Solving Equations
+

+ The primary use for algebra is to determine an unknown value, the + "variable", with the information provided. Continuing to use our + example from above, we can find the value of the variable "x".

+ x + 5 = 12

+ In an equation, both sides result in the same value. So you can + manipulate the two expressions however you need, as long as you + perform the same operation (or change) to each side. You do this + because the goal when solving an equation is to + get the variable into its own expression, or by itself on one side + of the = sign.
For this example, we want to remove the "+5" so the "x" is + alone. To do this, we can subtract 5, because subtraction is + the opposite operation to addition. But remember, we have to perform + the same operation to both sides of the equation. Now our equation + looks like this.

+ x + 5 - 5 = 12 - 5

+ The equation looks like a mess right now, because we haven't completed + the operations. We can simplify this equation to make it easier + to read by performing the operations "5-5" and "12-5". The result + is:

+ x = 7

+ We now have our solution to this equation! +

+
+
+
Solving Equations II
+

+ Let us look at a slightly more challenging equation.

+ 3x + 4 = 13

+ Again we can start with subtraction. In this case, we want to subtract + 4 from each side of the equation. We will also go ahead and simplify + with each step. So now we have:

+ 3x = 9

+ "3x" translates to "3*x", where the "*" symbol indicates + multiplication. We use the "*" to avoid confusion, as the "x" is now a + variable instead of a multiplication symbol. The opposite operation + for multiplication is division, so we need to + divide each expression by 3.

+ x = 3

+ And now we have our solution! +

+
+
+
Solving Equations III
+

+ Now we are getting in to more complex operations. Here is another + equation for us to look at:

+ x^2 - 8 = 8

+ Our very first step will be to add 8 to each side. This is + different from our previous examples, where we had to subtract. But + remember, our goal is to get the variable alone by performing opposite + operations.

+ x^2 = 16

+ But what does the "^2" mean? The "^" symbol is used to denote + exponents in situations where superscript is not available. When + superscript is available, you would see it as x2. + For the sake of this project, however, we will use the "^" symbol.
+ An exponent tells you how many times the base (in our case, "x") is + multiplied by itself. So, "x^2" would be the same as "x*x". Now the + opposite function of multiplication is division, but we would have to + divide both sides by "x". We do not want to do this, as that + would put an "x" on the other side of the equation. So instead, we + need to use the root operation! For an exponent of "2", we call this + the "square root" and denote it with "√". Our equation is now: +

+ x = √9

+ Performing a root operation by hand can be a tedious process, so we + recommend using a calculator when necessary. However, we are lucky in + that "9" is a + perfect square, so we do not need to calculate anything. Instead, we find our + answer to be:

+ x = 3 +

+
+
+
System of Equations
+

+ As you explore your algebra studies further, you may start to run + across equations with more than one variable. The first such equations + will likely look like:

+ y = 3x

+ An equation like this does not have one single solution. + Rather, there are a series of values for which the equation is true. + For example, if "x=3" and "y=9", the equation is true. These equations + are usually used to plot a graph.
+ Getting more complicated, though, you may be given a pair of + equations. This is called a "system of equations", and CAN be solved. + Let's look at how we do this! Consider the following system of + equations:

+ y = 3x | y - 6 = x + A system of equations IS solvable, but it is a multi-step process. To + get started, we need to chose a variable we are solving for. Let's + solve for "x" first. From the second equation, we know that "x" equals + "y - 6", but we cannot simplify that further because we do not have a + value for "y". Except, thanks to the system of equations, we DO have a + value for "y". We know that "y" equals "3x". So, looking at our second + equation, we can replace "y" with "3x" because they have the same + value. We then get:

+ 3x - 6 = x

+ Now we can solve for "x"! We start by adding 6 to each side.

+ 3x = x + 6

+ We still need to get "x" by itself, so we subtract "x" from both sides + and get:

+ 2x = 6

+ If this confuses you, remember that "3x" is the same as "x+x+x". + Subtract an "x" from that and you get "x+x", or "2x". Now we divide + both sides by 2 and have our value for x!

+ x = 3

+ However, our work is not done yet. We still need to find the value for + "y". Let's go back to our first equation:

+ y = 3x

+ We have a value for "x" now, so let's see what happens if we put that + value in.

+ y = 3*3

+ We perform the multiplication and discover that "y=9"! Our solution to + this system of equations then is:

+ x = 3 and y = 9

+

+
+
+
Try it Yourself!
+

Coming Soon!

+

Keep an eye out for new additions!

+
+
+
More Information
+

Check out the following links for more information!

+ +
+
+ + + +``` + +```css +* { + background-color: #3a3240; +} +a { + color: #92869c; +} +a:hover { + background-color: #92869c; + color: #3a3240; +} +#navbar { + border-style: solid; + border-width: 5px; + border-color: #92869c; + height: 100%; + top: -5px; + left: -5px; + padding: 5px; + text-align: center; + color: #92869c +} +@media (min-width: 480px) { + #navbar { + position: fixed; + } +} +main { + margin-left: 220px; + color: #92869c +} +header { + font-size: 20pt; +} +code { + background-color: #92869c; + border-style: dashed; + border-width: 2px; + border-color: #92869c; + padding: 5px; + color: black; +} +footer { + text-align: center; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-tribute-page-project/build-a-tribute-page.md b/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-tribute-page-project/build-a-tribute-page.md new file mode 100644 index 00000000000..4c99b97f034 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-tribute-page-project/build-a-tribute-page.md @@ -0,0 +1,325 @@ +--- +id: bd7158d8c442eddfaeb5bd18 +title: بناء مشروع صفحة الثناء +challengeType: 14 +forumTopicId: 301147 +dashedName: build-a-tribute-page +--- + +# --description-- + +**Objective:** قم ببناء تطبيق يشبه وظيفيا إلى https://tribute-page.freecodecamp.rocks + +**المتطلبات:** + +1. يجب أن يكون لصفحة الثناء الخاصة بك عنصر `main` مع `id` بقيمة `main`، والذي يحتوي على جميع العناصر الأخرى +1. يجب أن ترى عنصرا مع `id` بقيمة `title`، الذي يحتوي على string (اي نص) ،يصف موضوع صفحة الثناء (مثل "الدكتور نورمان بورلاوغ") +1. يجب أن ترى إما عنصر `figure` أو `div` مع `id` بقيمة `img-div` +1. داخل عنصر `#img-div` يمكنك رؤية عنصر `img` مع `id="image"` +1. داخل عنصر `#img-div` ، يجب أن ترى عنصرا مع `id="img-caption"` يحتوي على محتوى نصي يصف الصورة المعروضة في `#img-div` +1. يجب أن ترى عنصرا مع `id="tribute-info"`، الذي يحتوي على محتوى نصي يصف موضوع صفحة الثناء +1. يجب أن ترى عنصر `a` مع `id="tribute-link"` مقابل له، والذي يربط بموقع خارجي، والذي يحتوي على معلومات إضافية عن موضوع صفحة الثناء tribute page. تلميح: يجب أن تعطي العنصر الخاص بك سمة `target` بقيمة `_blank` لكي يفتح الرابط الخاص بك في علامة تبويب جديدة +1. `#image` الخاص بك يجب أن تستخدم خصائص `max-width` و `height` لتغيير الحجم بشكل مستجيب، نسبة إلى عرض العنصر الاب، دون تجاوز حجمه الأصلي +1. عنصر `img` الخاص بك يجب أن يتمركز داخل العنصر الاب + +أكمل المتطلبات و قم باجتياز جميع الاختبارات أدناه لإكمال هذا المشروع. أعطيها أسلوبك الشخصي الخاص. برمجة سعيدة! + +**ملاحظة:** تأكد من إضافة `` في HTML الخاص بك لربط ورقة الأنماط (stylesheet) الخاصة بك وتطبيق الـ CSS + +# --hints-- + +يجب أن يكون لديك عنصر `main` مع `id` بقيمة `main`. + +```js +const el = document.getElementById('main') +assert(!!el && el.tagName === 'MAIN') +``` + +`#img-div` و`#image` و `#img-caption` و `#tribute-info` و `#tribute-link` يجب أن تكون كلها تابعة لـ `#main`. + +```js +const el1 = document.querySelector('#main #img-div') +const el2 = document.querySelector('#main #image') +const el3 = document.querySelector('#main #img-caption') +const el4 = document.querySelector('#main #tribute-info') +const el5 = document.querySelector('#main #tribute-link') +assert(!!el1 & !!el2 && !!el3 && !!el4 && !!el5) +``` + +يجب أن يكون لديك عنصر مع `id` بقيمة `title`. + +```js +const el = document.getElementById('title') +assert(!!el) +``` + +يجب ألا يكون `#title` فارغاً. + +```js +const el = document.getElementById('title') +assert(!!el && el.innerText.length > 0) + +``` + +يجب أن يكون لديك عنصر `figure` أو `div` مع `id` بقيمة `img-div`. + +```js +const el = document.getElementById('img-div') +assert(!!el && (el.tagName === 'DIV' || el.tagName === 'FIGURE')) +``` + +يجب أن يكون لديك عنصر `img` مع `id` بقيمة `image`. + +```js +const el = document.getElementById('image') +assert(!!el && el.tagName === 'IMG') +``` + +`#image` الخاص بك يجب أن يكون تابعا لـ `#img-div`. + +```js +const el = document.querySelector('#img-div #image') +assert(!!el) +``` + +يجب أن يكون لديك عنصر `figcaption` أو `div` مع `id` بقيمة `img-caption`. + +```js +const el = document.getElementById('img-caption') +assert(!!el && (el.tagName === 'DIV' || el.tagName === 'FIGCAPTION')) +``` + +`#img-caption` الخاص بك يجب أن يكون تابعا لـ `#img-div`. + +```js +const el = document.querySelector('#img-div #img-caption') +assert(!!el) +``` + +يجب ألا يكون `#img-caption` فارغاً. + +```js +const el = document.getElementById('img-caption') +assert(!!el && el.innerText.length > 0) +``` + +يجب أن يكون لديك عنصر مع `id` بقيمة `tribute-info`. + +```js +const el = document.getElementById('tribute-info') +assert(!!el) +``` + +يجب ألا يكون `#tribute-info` فارغاً. + +```js +const el = document.getElementById('tribute-info') +assert(!!el && el.innerText.length > 0) +``` + +يجب أن يكون لديك عنصر `a` مع `id` بقيمة `tribute-link`. + +```js +const el = document.getElementById('tribute-link') +assert(!!el && el.tagName === 'A') +``` + +`#tribute-link` يجب أن يحتوي على السمة والقيمة لـ `href`. + +```js +const el = document.getElementById('tribute-link') +assert(!!el && !!el.href && el.href.length > 0) +``` + +يجب أن يحتوي عنصر `#tribute-link` على سمة `target` بقيمة `_blank`. + +```js +const el = document.getElementById('tribute-link') +assert(!!el && el.target === '_blank') +``` + +`img` الخاص بك يجب أن يكون له `display` بقيمة `block`. + +```js +const img = document.getElementById('image'); +const imgStyle = window.getComputedStyle(img); +const style = imgStyle?.getPropertyValue('display') +assert(style === 'block') +``` + +`#image` الخاص بك يجب أن يكون له `max-width` بقيمة `100%`. + +```js +const img = document.getElementById('image'); +const imgStyle = window.getComputedStyle(img); +const style = imgStyle?.getPropertyValue('max-width') +assert(style === '100%') +``` + +`#image` الخاص بك يجب أن يكون له `height` بقيمة `auto`. + +```js +// taken from the testable-projects repo +const img = document.getElementById('image'); +const imgStyle = window.getComputedStyle(img); +const oldDisplayValue = imgStyle.getPropertyValue('display'); +const oldDisplayPriority = imgStyle.getPropertyPriority('display'); +img?.style.setProperty('display', 'none', 'important'); +const heightValue = imgStyle?.getPropertyValue('height') +img?.style.setProperty('display', oldDisplayValue, oldDisplayPriority); +assert(heightValue === 'auto') +``` + +`#image` الخاص بك يجب أن يتمركز داخل العنصر الاب. + +```js +// taken from the testable-projects repo +const img = document.getElementById('image'), + imgParent = img?.parentElement, + imgLeft = img?.getBoundingClientRect().left, + imgRight = img?.getBoundingClientRect().right, + parentLeft = imgParent?.getBoundingClientRect().left, + parentRight = imgParent?.getBoundingClientRect().right, + leftMargin = imgLeft - parentLeft, + rightMargin = parentRight - imgRight; +assert(leftMargin - rightMargin < 6 && rightMargin - leftMargin < 6) +``` + +# --seed-- + +## --seed-contents-- + +```html + +``` + +```css + +``` + +## --solutions-- + +```html + + + + + + + + Tribute Page + + +

Tribute Page

+

The below card was designed as a tribute page for freeCodeCamp.

+
+
+ An image of Togepi +
Togepi, happy as always.
+
+

Togepi

+
+
+

+ Togepi was first discovered in the Johto region, when Ash Ketchum + discovered a mysterious egg. However, when the egg hatched, Togepi saw + Ash's friend Misty first and imprinted on her. Like many other + creatures, this imprinting process created a bond and Togepi views + Misty as his mother. +

+

+ Togepi is a very childlike Pokemon, and is very emotionally + expressive. He demonstrates extreme levels of joy and sadness. +

+
+

Battle Information

+
    +
  • Type: Fairy
  • +
  • Evolutions: Togepi -> Togetic -> Togekiss
  • +
  • Moves: Growl, Pound, Sweet Kiss, Charm
  • +
  • Weaknesses: Poison, Steel
  • +
  • Resistances: Dragon
  • +
+

+ Check out this + Bulbapedia article on Togepi + for more information on this great Pokemon. +

+
+
+ + + +``` + +```css +body { + background-color: #3a3240; + color: white; +} +main { + background-color: #92869c; + font-family: Lobster; + max-width: 500px; + margin: 20px auto; + color: black; + border-radius: 50px; + box-shadow: 10px 10px rgba(0, 0, 0, 0.5); +} +h2 { + text-align: center; + font-size: 20pt; + font-family: Pacifico; +} +body { + text-align: center; + font-size: 12pt; +} +footer { + text-align: center; + font-size: 10pt; +} +.border { + border-color: black; + border-width: 5px; + border-style: solid; +} +#image { + height: auto; + display: block; + margin: auto; + max-width: 100%; + border-radius: 50%; +} +#img-caption { + font-size: 10pt; +} +a:not(#tribute-link) { + color: white; +} +hr { + border-color: black; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md new file mode 100644 index 00000000000..9e450b924b7 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613297a923965e0703b64796.md @@ -0,0 +1,56 @@ +--- +id: 613297a923965e0703b64796 +title: الخطوة الثانية +challengeType: 0 +dashedName: step-2 +--- + +# --description-- + +قد تكون على دراية بالفعل بعنصر `meta`؛ يستخدم لتحديد معلومات حول الصفحة، مثل العنوان، الوصف، الكلمات المفتاحية، والمؤلف. + +امنح صفحتك عنصر `meta` بقيمة `charset` مناسبة. + +السمة `charset` تحدد ترميز الأحرف للصفحة، وفي هذه الأيام، `UTF-8` هي الترميز الوحيد المدعوم من معظم المتصفحات. + +# --hints-- + +يجب عليك إنشاء عنصر `meta` داخل عنصر `head`. + +```js +assert.exists(document.querySelector('head > meta')); +``` + +يجب عليك إعطاء وسم `meta` سمة `charset` بقيمة `UTF-8`. + +```js +assert.equal(document.querySelector('head > meta')?.getAttribute('charset')?.toLowerCase(), 'utf-8'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + +--fcc-editable-region-- + + + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md new file mode 100644 index 00000000000..8733579a2d4 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329b210dac0b08047fd6ab.md @@ -0,0 +1,61 @@ +--- +id: 61329b210dac0b08047fd6ab +title: الخطوة ٣ +challengeType: 0 +dashedName: step-3 +--- + +# --description-- + +بالمتابعة مع عناصر `meta`، يخبر تعريف `viewport` المتصفح كيفية عرض الصفحة. بما في ذلك تحسين الوصول البصري (visual accessibility) على المحمول، وتحسين _SEO_ كفاءه محرك البحث (seach engine optimization). + +قم بإضافة تعريف `viewport` مع سمة `content` مع تفاصيل `width` و `initial-scale` للصفحة. + +# --hints-- + +يجب عليك إنشاء عنصر `meta` أخر داخل عنصر `head`. + +```js +assert.equal(document.querySelectorAll('head > meta')?.length, 2); +``` + +يجب أن تعطي `meta` سمة `name` بقيمة `viewport`. + +```js +assert.equal(document.querySelectorAll('head > meta[name="viewport"]')?.length, 1); +``` + +يجب أن تعطي `meta` سمة `content` بقيمة `width=device-width, initial-scale=1`. + +```js +assert.equal(document.querySelectorAll('head > meta[content="width=device-width, initial-scale=1.0"]')?.length || document.querySelectorAll('head > meta[content="width=device-width, initial-scale=1"]')?.length, 1); +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + + +--fcc-editable-region-- + + + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md new file mode 100644 index 00000000000..bc1dda43d5b --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61329d52e5010e08d9b9d66b.md @@ -0,0 +1,68 @@ +--- +id: 61329d52e5010e08d9b9d66b +title: الخطوة ٤ +challengeType: 0 +dashedName: step-4 +--- + +# --description-- + +عنصر `meta` آخر مهم للوصول و SEO هو `description`. يتم استخدام قيمة السمة `content` من قبل محركات البحث لتقديم وصف لصفحتك. + +قم بإضافة عنصر `meta` مع تعيين السمة `name` إلى `description`، وقم بإعطائه سمة `content` مفيدة. + +# --hints-- + +يجب عليك إنشاء عنصر `meta` جديد داخل عنصر `head`. + +```js +assert.equal(document.querySelectorAll('meta').length, 3); +``` + +يجب أن تعطي `meta` سمة `name` بقيمة `description`. + +```js +assert.exists(document.querySelector('meta[name="description"]')); +``` + +يجب عليك إعطاء `meta` سمة `content`. + +```js +assert.notEmpty(document.querySelector('meta[name="description"]')?.content); +``` + +قيمة السمة `content` يجب ألا تكون أكثر من 165 حرفاً. _هذا هو الحد الأقصى لطول الوصف في جوجل_ + +```js +assert.isAtMost(document.querySelector('meta[name="description"]')?.content?.length, 165); +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + + + +--fcc-editable-region-- + + + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md new file mode 100644 index 00000000000..6c0554d882d --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133acc353338c0bba9cb553.md @@ -0,0 +1,63 @@ +--- +id: 6133acc353338c0bba9cb553 +title: الخطوة ٥ +challengeType: 0 +dashedName: step-5 +--- + +# --description-- + +أخيرا في `head`، عنصر `title` مفيد لقراء الشاشة (screen readers) لفهم محتوى الصفحة. علاوة على ذلك، فهو جزء هام من _SEO_. + +أعطِ صفحتك `title` وصفياً وموجزاً. + +# --hints-- + +يجب عليك إضافة عنصر `title` إلى `head`. + +```js +assert.exists(document.querySelector('head > title')); +``` + +يجب ألا تجعل `title` أطول من 60 حرفاً. + +```js +assert.isAtMost(document.querySelector('head > title')?.textContent?.length, 60); +``` + +حاول أن تكون أكثر وصفاً مع عنصر `title` الخاص بك. _تلميح: 15 حرف على الأقل_ + +```js +assert.isAtLeast(document.querySelector('head > title')?.textContent?.length, 15); +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + + + + +--fcc-editable-region-- + + + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md new file mode 100644 index 00000000000..142626b527b --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6133d11ef548f51f876149e3.md @@ -0,0 +1,68 @@ +--- +id: 6133d11ef548f51f876149e3 +title: الخطوة ٦ +challengeType: 0 +dashedName: step-6 +--- + +# --description-- + +التنقل (Navigation) هو جزء أساسي من إمكانية الوصول (accessibility)، ويعتمد قارئ الشاشة (screen readers) عليك لتوفير بنية الصفحة الخاصة بك. ويتم ذلك باستخدام عناصر semantic HTML. + +أضف `header` و `main` إلى صفحتك. + +سيتم استخدام عنصر `header` لتقديم الصفحة، بالإضافة إلى توفير قائمة التنقل (navigation menu). + +عنصر `main` سوف يحتوي على المحتوى الأساسي لصفحتك. + +# --hints-- + +يجب عليك إضافة عنصر `header` إلى `body`. + +```js +assert.exists(document.querySelector('body > header')); +``` + +يجب عليك إضافة عنصر `main` إلى `body`. + +```js +assert.exists(document.querySelector('body > main')); +``` + +يجب أن يأتي عنصر `header` قبل عنصر `main`. + +```js +assert.exists(document.querySelector('header + main')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + +--fcc-editable-region-- + + + +--fcc-editable-region-- + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md new file mode 100644 index 00000000000..96149bec672 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e2546d0594208229ada50.md @@ -0,0 +1,93 @@ +--- +id: 613e2546d0594208229ada50 +title: الخطوة ٧ +challengeType: 0 +dashedName: step-7 +--- + +# --description-- + +داخل `header`، قدّم سياق حول الصفحة بواسطة أدخال عنصر `img`, و `h1`, و `nav` واحد. + +ينبغي أن يشير `img` إلى `https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg`، ويحتوي على `id` بقيمة `logo`. + +يجب أن يحتوي `h1` على النص `HTML/CSS Quiz`. + +# --hints-- + +يجب عليك إضافة عنصر `img` إلى عنصر `header`. + +```js +assert.exists(document.querySelector('header > img')); +``` + +يجب عليك إضافة عنصر `h1` إلى عنصر `header`. + +```js +assert.exists(document.querySelector('header > h1')); +``` + +يجب عليك إضافة عنصر `nav` إلى عنصر `header`. + +```js +assert.exists(document.querySelector('header > nav')); +``` + +يجب عليك وضع عناصر `img`, و `h1`, و `nav` بهذا الترتيب. + +```js +assert.exists(document.querySelector('img + h1 + nav')); +``` + +يجب أن تعطي عنصر `img` سمة `src` بقيمة `https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg`. + +```js +assert.equal(document.querySelector('img')?.src, 'https://cdn.freecodecamp.org/platform/universal/fcc_primary.svg'); +``` + +يجب أن تعطي عنصر `img` سمة `id` بقيمة `logo`. + +```js +assert.equal(document.querySelector('img')?.id, 'logo'); +``` + +يجب عليك إعطاء عنصر `h1` النص `HTML/CSS Quiz`. + +```js +assert.include(document.querySelector('h1')?.innerText?.toLowerCase(), 'html/css quiz'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +--fcc-editable-region-- +
+ +
+--fcc-editable-region-- +
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md new file mode 100644 index 00000000000..e619ec59bef --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md @@ -0,0 +1,66 @@ +--- +id: 613e275749ebd008e74bb62e +title: الخطوة ٨ +challengeType: 0 +dashedName: step-8 +--- + +# --description-- + +تعني الخاصية _SVG_ المفيدة (رُسُوم متجهة قابلة للتطوير scalable vector graphics)، هي أنها تحتوي على سمة `path` التي تسمح بتغيير حجم الصورة دون التأثير على دقة الصورة الناتجة من التغيير. + +حاليًا، تأخذ `img` حجمها الافتراضي, وهو كبير جدًا. بشكل صحيح، غيّر حجم الصورة باستخدام `id` كمنتقى، وعيّن `width` ألى `max(100px, 18vw)`. + +# --hints-- + +يجب عليك استخدام منتقي `#logo` لاستهداف عنصر `img`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('#logo')); +``` + +يجب عليك إعطاء `img` خاصية `width` بقيمة `max(100px, 18vw)`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('#logo')?.width, 'max(100px, 18vw)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140827cff96e906bd38fc2b.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140827cff96e906bd38fc2b.md new file mode 100644 index 00000000000..1756bf4e399 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140827cff96e906bd38fc2b.md @@ -0,0 +1,93 @@ +--- +id: 6140827cff96e906bd38fc2b +title: الخطوة ٩ +challengeType: 0 +dashedName: step-9 +--- + +# --description-- + +كما هو موضح في freeCodeCamp Style Guide، يجب أن يحتفظ الشعار بنسبة عرض تبلغ `35 / 4`، وأن يحتوي على padding حول النص. + +أولاً، قم بتغيير `background-color` إلى `#0a0a23` حتى تتمكن من رؤية الشعار. ثم استخدم خاصية `aspect-ratio` لتعيين نسبة العرض المطلوبة إلى `35 / 4`. أخيراً، أضف `padding` بقيمة `0.4rem` في جميع الاتجاهات. + +# --hints-- + +يجب عليك إعطاء `#logo` الـ `background-color` بقيمة `#0a0a23`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('#logo')?.backgroundColor, 'rgb(10, 10, 35)'); +``` + +يجب عليك استخدام خاصية `aspect-ratio`. + +```js +assert.notEmpty(new __helpers.CSSHelp(document).getStyle('#logo')?.aspectRatio); +``` + +لا يجب عليك استخدام خاصية `height`. + +```js +assert.isEmpty(new __helpers.CSSHelp(document).getStyle('#logo')?.height); +``` + +لا يجب عليك تغيير خاصية `width`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('#logo')?.width, 'max(100px, 18vw)'); +``` + +يجب عليك إعطاء `img` الـ `aspect-ratio` بقيمة `35 / 4`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('#logo')?.aspectRatio, '35 / 4'); +``` + +يجب عليك إعطاء `img` الـ `padding` بقيمة `0.4rem`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('#logo')?.padding, '0.4rem'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +--fcc-editable-region-- +#logo { + width: max(100px, 18vw); + +} +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140883f74224508174794c0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140883f74224508174794c0.md new file mode 100644 index 00000000000..5b70a2fc6ef --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6140883f74224508174794c0.md @@ -0,0 +1,89 @@ +--- +id: 6140883f74224508174794c0 +title: الخطوة ١٠ +challengeType: 0 +dashedName: step-10 +--- + +# --description-- + +اجعل `header` يأخذ العرض الكامل للحاوية الأصلية (parent container)، وتعيين `height` إلى `50px`، وتعيين `background-color` إلى `#1b1b32`. ثم عيّن `display` لاستخدام _Flexbox_. + +# --hints-- + +يجب عليك استخدام منتقي `header`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('header')); +``` + +يجب عليك إعطاء `header` خاصية `width` بقيمة `100%`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.width, '100%'); +``` + +يجب عليك إعطاء `header` خاصية `height` بقيمة `50px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.height, '50px'); +``` + +يجب عليك إعطاء `header` خاصية `background-color` بقيمة `#1b1b32`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.backgroundColor, 'rgb(27, 27, 50)'); +``` + +يجب عليك إعطاء `header` خاصية `display` بقيمة `flex`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.display, 'flex'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md new file mode 100644 index 00000000000..12e71fb4efb --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408e4ae3e35d08feb260eb.md @@ -0,0 +1,83 @@ +--- +id: 61408e4ae3e35d08feb260eb +title: الخطوة ١١ +challengeType: 0 +dashedName: step-11 +--- + +# --description-- + +قم بتغيير لون خط `h1` إلى `#f1be32`، وتعيين حجم الخط (font size) إلى `min(5vw, 1.2em)`. + +# --hints-- + +يجب عليك استخدام منتقي العناصر `h1`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('h1')); +``` + +يجب عليك إعطاء `h1` الـ `color` بقيمة `#f1be32`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('h1')?.color, 'rgb(241, 190, 50)'); +``` + +يجب عليك إعطاء `h1` الـ `font-size` بقيمة `min(5vw, 1.2em)`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('h1')?.fontSize, 'min(5vw, 1.2em)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +--fcc-editable-region-- + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408f155e798909b6908712.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408f155e798909b6908712.md new file mode 100644 index 00000000000..874a5ba78ef --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61408f155e798909b6908712.md @@ -0,0 +1,112 @@ +--- +id: 61408f155e798909b6908712 +title: الخطوة ١٢ +challengeType: 0 +dashedName: step-12 +--- + +# --description-- + +لتمكين التنقل على الصفحة، أضف unordered list مع عناصر القائمة (list items) الثلاثة التالية: + +- `INFO` +- `HTML` +- `CSS` + +يجب تغليف نص عناصر القائمة (list items text) في anchor tags. + +# --hints-- + +يجب عليك أن تدمج عنصر `ul` داخل `nav`. + +```js +assert.equal(document.querySelectorAll('nav > ul')?.length, 1); +``` + +يجب عليك دمج ثلاثة عناصر `li` داخل عنصر `ul`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li')?.length, 3); +``` + +يجب أن تدمج عنصر واحد `a` داخل كل عنصر `li`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li > a')?.length, 3); +``` + +يجب أن تعطي العنصر `a` الأول النص `INFO`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li > a')?.[0]?.textContent, 'INFO'); +``` + +يجب عليك إعطاء ثاني عنصر `a` النص `HTML`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li > a')?.[1]?.textContent, 'HTML'); +``` + +يجب أن تعطي العنصر `a` الثالث النص `CSS`. + +```js +assert.equal(document.querySelectorAll('nav > ul > li > a')?.[2]?.textContent, 'CSS'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+--fcc-editable-region-- + +--fcc-editable-region-- +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614090d5a22b6f0a5a6b464c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614090d5a22b6f0a5a6b464c.md new file mode 100644 index 00000000000..73854a5a328 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614090d5a22b6f0a5a6b464c.md @@ -0,0 +1,102 @@ +--- +id: 614090d5a22b6f0a5a6b464c +title: الخطوة ١٣ +challengeType: 0 +dashedName: step-13 +--- + + + +# --description-- + +استهدف عناصر الـ unordered list داخل عناصر `nav`، واستخدم _Flexbox_ لتوزيع المسافات بين الأطفال بشكل متساوٍ. + +# --hints-- + +يجب عليك استخدام منتقي `nav > ul`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('nav > ul')); +``` + +يجب عليك إعطاء عناصر `nav > ul` الـ `display` بقيمة `flex`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.display, 'flex'); +``` + +يجب عليك إعطاء عناصر `nav > ul` الـ `justify-content` بقيمة `space-evenly`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.justifyContent, 'space-evenly'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +--fcc-editable-region-- + +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fabd6f75610664e908fd.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fabd6f75610664e908fd.md new file mode 100644 index 00000000000..dc9d279f93a --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fabd6f75610664e908fd.md @@ -0,0 +1,125 @@ +--- +id: 6141fabd6f75610664e908fd +title: الخطوة ١٤ +challengeType: 0 +dashedName: step-14 +--- + +# --description-- + +بما أن هذا اختبار، ستحتاج إلى نموذج (form) للمستخدمين لتقديم إجابات. يمكنك فصل المحتوى بشكل لغوي (semantically) داخل النموذج (form) باستخدام عناصر `section`. + +ضمن عنصر `main`، أنشئ نموذج (form) مع ثلاث عناصر `section` متداخلة. بعد ذلك، قم بإرسال النموذج (submit form) إلى `https://freecodecamp.org/practice-project/accessibility-quiz`، باستخدام الطريقة الصحيحة. + +# --hints-- + +يجب عليك تضمين عنصر `form` داخل عنصر `main`. + +```js +assert.exists(document.querySelector('main > form')); +``` + +يجب عليك تضمين ثلاثة عناصر `section` ضمن عنصر `form` الخاص بك. + +```js +assert.equal(document.querySelectorAll('main > form > section')?.length, 3); +``` + +يجب أن تعطي عنصر `form` سمة `action`. + +```js +assert.notEmpty(document.querySelector('main > form')?.action); +``` + +يجب أن تعطي سمة `action` قيمة `https://freecodecamp.org/practice-project/accessibility-quiz`. + +```js +assert.equal(document.querySelector('main > form')?.action, 'https://freecodecamp.org/practice-project/accessibility-quiz'); +``` + +يجب أن تعطي عنصر `form` سمة `method`. + +```js +assert.notEmpty(document.querySelector('main > form')?.method); +``` + +يجب أن تعطي عنصر `form` سمة `method` بقيمة `post`. + +```js +assert.equal(document.querySelector('main > form')?.method?.toLowerCase(), 'post'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+--fcc-editable-region-- +
+ +
+--fcc-editable-region-- + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fed65b61320743da5894.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fed65b61320743da5894.md new file mode 100644 index 00000000000..8934c556675 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6141fed65b61320743da5894.md @@ -0,0 +1,111 @@ +--- +id: 6141fed65b61320743da5894 +title: خطوة ١٥ +challengeType: 0 +dashedName: step-15 +--- + +# --description-- + +لزيادة إمكانية الوصول إلى الصفحة، يمكن استخدام سمة `role` للإشارة إلى الغرض وراء عنصر في الصفحة للتكنولوجيات المساعدة. سمة `role` هي جزء من _Web Accessibility Initiative_ او (WAI)، وتقبل قيم الإعداد المسبق. + +اعطي كل عنصر من عناصر `section` الـ role بقيمة `region`. + +# --hints-- + +يجب ان تعطي عنصر `section` الاول role بقيمة `region`. + +```js +assert.equal(document.querySelectorAll('section')?.[0]?.getAttribute('role'), 'region'); +``` + +يجب ان تعطي عنصر `section` الثاني role بقيمة `region`. + +```js +assert.equal(document.querySelectorAll('section')?.[1]?.getAttribute('role'), 'region'); +``` + +يجب ان تعطي عنصر `section` الثالث role بقيمة `region`. + +```js +assert.equal(document.querySelectorAll('section')?.[2]?.getAttribute('role'), 'region'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+--fcc-editable-region-- +
+
+
+
+
+--fcc-editable-region-- +
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614202874ca576084fca625f.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614202874ca576084fca625f.md new file mode 100644 index 00000000000..5d973a8a5a9 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614202874ca576084fca625f.md @@ -0,0 +1,171 @@ +--- +id: 614202874ca576084fca625f +title: الخطوة ١٦ +challengeType: 0 +dashedName: step-16 +--- + +# --description-- + +يتطلب كل role من `region` تسمية مرئية، والتي يجب الإشارة إليها بواسطة السمة `aria-labelledby`. + +إلى عناصر `section` ، أعطي سمات `aria-labelledby` التالية: + +- `student-info` +- `html-questions` +- `css-questions` + +ثم ، داخل كل عنصر `section` ادمج عنصر واحد `h2` مع `id` يطابق السمة `aria-labelledby` المقابلة. قم بإعطاء كل `h2` محتوى نصي مناسب. + +# --hints-- + +يجب أن تعطي عنصر `section` الأول سمة `aria-labelledby` بقيمة `student-info`. + +```js +assert.equal(document.querySelectorAll('section')?.[0]?.getAttribute('aria-labelledby'), 'student-info'); +``` + +يجب أن تعطي عنصر `section` سمة `aria-labelledby` بقيمة `html-questions`. + +```js +assert.equal(document.querySelectorAll('section')?.[1]?.getAttribute('aria-labelledby'), 'html-questions'); +``` + +يجب عليك إعطاء ثالث عنصر `section` سمة `aria-labelledby` بقيمة `css-questions`. + +```js +assert.equal(document.querySelectorAll('section')?.[2]?.getAttribute('aria-labelledby'), 'css-questions'); +``` + +يجب عليك دمج عنصر `h2` واحد داخل اول عنصر `section`. + +```js +assert.equal(document.querySelectorAll('section')?.[0]?.querySelectorAll('h2')?.length, 1); +``` + +يجب عليك دمج عنصر `h2` واحد داخل ثاني عنصر `section`. + +```js +assert.equal(document.querySelectorAll('section')?.[1]?.querySelectorAll('h2')?.length, 1); +``` + +يجب عليك دمج عنصر `h2` واحد داخل ثالث عنصر `section`. + +```js +assert.equal(document.querySelectorAll('section')?.[2]?.querySelectorAll('h2')?.length, 1); +``` + +يجب أن تعطي عنصر `h2` سمة `id` بقيمة `student-info`. + +```js +assert.equal(document.querySelectorAll('h2')?.[0]?.id, 'student-info'); +``` + +يجب عليك إعطاء ثاني عنصر `h2`الـ `id` بقيمة `html-questions`. + +```js +assert.equal(document.querySelectorAll('h2')?.[1]?.id, 'html-questions'); +``` + +يجب عليك إعطاء ثالث عنصر `h2` الـ `id` بقيمة `css-questions`. + +```js +assert.equal(document.querySelectorAll('h2')?.[2]?.id, 'css-questions'); +``` + +يجب عليك إعطاء أول عنصر `h2` محتوى نصي مناسب. _تلميح: كنت ساختار `Student Info`_ + +```js +assert.isAtLeast(document.querySelectorAll('h2')?.[0]?.textContent?.length, 1); +``` + +يجب عليك إعطاء ثاتي عنصر `h2` محتوى نصي مناسب. _تلميح: كنت ساختار `HTML`_ + +```js +assert.isAtLeast(document.querySelectorAll('h2')?.[1]?.textContent?.length, 1); +``` + +يجب عليك إعطاء ثالث عنصر `h2` محتوى نصي مناسب. _تلميح: كنت ساختار `CSS`_ + +```js +assert.isAtLeast(document.querySelectorAll('h2')?.[2]?.textContent?.length, 1); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+--fcc-editable-region-- +
+
+
+
+
+--fcc-editable-region-- +
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614206033d366c090ca7dd42.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614206033d366c090ca7dd42.md new file mode 100644 index 00000000000..386b4dd83d1 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614206033d366c090ca7dd42.md @@ -0,0 +1,140 @@ +--- +id: 614206033d366c090ca7dd42 +title: الخطوة ١٧ +challengeType: 0 +dashedName: step-17 +--- + +# --description-- + +يؤدي Typeface دورا هاما في إمكانية الوصول إلى الصفحة. بعض الخطوط أسهل من غيرها، وهذا صحيح بشكل خاص على الشاشات ذات الدقة المنخفضة (low-resolution). + +قم بتغيير الخط لعناصر `h1` و `h2` إلى `Verdana`، واستخدم خط ويب آمنًا آخر في مجموعة sans-serif كخط احتياطي. + +بالإضافة إلى ذلك، أضف `border-bottom` بقيمة `4px solid #dfdfe2` إلى عناصر `h2` لجعل الأقسام (sections) متميزة. + +# --hints-- + +يجب عليك استخدام منتقي عناصر متعدد (multiple element selector) لاستهداف عناصر `h1` و `h2`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +assert.exists(gs('h1, h2') || gs('h2, h1')); +``` + +يجب عليك تعيين القيمة الأولى لخاصية `font-family` إلى `Verdana`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +const style = gs('h1, h2') || gs('h2, h1'); +assert.include(style?.fontFamily, 'Verdana'); +``` + +يجب عليك تعيين القيمة الثانية لخاصية `font-family` إلى خط sans-serif آخر آمن للويب. _تلميح: سأختار Tahoma_. + +```js +// Acceptable fonts: Arial, sans-serif, Helvetica, Tahoma, Trebuchet MS. +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +const style = gs('h1, h2') || gs('h2, h1'); +assert.match(style?.fontFamily, /(Tahoma)|(Arial)|(sans-serif)|(Helvetica)|(Trebuchet MS)/); +``` + +يجب عليك استخدام منتقي `h2` لاستهداف عناصر `h2`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('h2')); +``` + +يجب أن تعطي `h2` خاصية `border-bottom` بقيمة `4px solid #dfdfe2`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('h2')?.borderBottom, '4px solid rgb(223, 223, 226)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md new file mode 100644 index 00000000000..ef109b3ec5f --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61435e3c0679a306c20f1acc.md @@ -0,0 +1,125 @@ +--- +id: 61435e3c0679a306c20f1acc +title: الخطوة ١٨ +challengeType: 0 +dashedName: step-18 +--- + +# --description-- + +لتكون قادر على التنقل داخل الصفحة، قم بإعطاء كل عنصر رابط `href` مطابقه من `id` في عناصر `h2`. + +# --hints-- + +يجب عليك إعطاء أول عنصر `a` سمة `href` بقيمة `#student-info`. + +```js +assert.equal(document.querySelectorAll('a')?.[0]?.getAttribute('href'), '#student-info'); +``` + +يجب عليك إعطاء ثاني عنصر `a` سمة `href` بقيمة `#html-questions`. + +```js +assert.equal(document.querySelectorAll('a')?.[1]?.getAttribute('href'), '#html-questions'); +``` + +يجب عليك إعطاء ثالث عنصر `a` سمة `href` بقيمة `#css-questions`. + +```js +assert.equal(document.querySelectorAll('a')?.[2]?.getAttribute('href'), '#css-questions'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143610161323a081b249c19.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143610161323a081b249c19.md new file mode 100644 index 00000000000..3fc12168741 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143610161323a081b249c19.md @@ -0,0 +1,173 @@ +--- +id: 6143610161323a081b249c19 +title: الخطوة ١٩ +challengeType: 0 +dashedName: step-19 +--- + +# --description-- + +خلال ملء محتوى الاختبار القصير، أسفل `#student-info`، أضف ثلاث عناصر `div` مع `class` بقيمة `info`. + +ثم داخل كل عنصر `div` قم بدمج عنصر `label` واحد وعنصر `input` واحد. + +# --hints-- + +يجب عليك دمج ثلاثة عناصر `div` تحت عنصر `h2#student-info`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.length, 3); +``` + +يجب عليك إعطاء أول عنصر `div` سمة `class` بقيمة `info`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[0]?.className, 'info'); +``` + +يجب عليك إعطاء ثاني عنصر `div` سمة `class` بقيمة `info`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[1]?.className, 'info'); +``` + +يجب عليك إعطاء ثالث عنصر `div` سمة `class` بقيمة `info`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[2]?.className, 'info'); +``` + +يجب عليك دمج عنصر `label` واحد داخل أول عنصر `div`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[0]?.querySelectorAll('label')?.length, 1); +``` + +يجب عليك دمج عنصر `input` واحد داخل أول عنصر `div` بعد `label`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[0]?.querySelectorAll('input')?.length, 1); +assert.exists(document.querySelectorAll('h2#student-info ~ div')?.[0]?.querySelector('label + input')); +``` + +يجب عليك دمج عنصر `label` واحد داخل ثاني عنصر `div`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[1]?.querySelectorAll('label')?.length, 1); +``` + +يجب عليك دمج عنصر `input` واحد داخل ثاني عنصر `div` بعد `label`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[1]?.querySelectorAll('input')?.length, 1); +assert.exists(document.querySelectorAll('h2#student-info ~ div')?.[1]?.querySelector('label + input')); +``` + +يجب عليك دمج عنصر `label` واحد داخل ثالث عنصر `div`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[2]?.querySelectorAll('label')?.length, 1); +``` + +يجب عليك دمج عنصر `input` واحد داخل ثالث عنصر `div` بعد `label`. + +```js +assert.equal(document.querySelectorAll('h2#student-info ~ div')?.[2]?.querySelectorAll('input')?.length, 1); +assert.exists(document.querySelectorAll('h2#student-info ~ div')?.[2]?.querySelector('label + input')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+--fcc-editable-region-- +
+

Student Info

+ +
+--fcc-editable-region-- +
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143639d5eddc7094161648c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143639d5eddc7094161648c.md new file mode 100644 index 00000000000..7c7811ac594 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143639d5eddc7094161648c.md @@ -0,0 +1,195 @@ +--- +id: 6143639d5eddc7094161648c +title: الخطوة ٢٠ +challengeType: 0 +dashedName: step-20 +--- + +# --description-- + +من المهم ربط كل `input` إلى عنصر `label` المقابل له. وهذا يوفر لمستخدمي التكنولوجيا المساعِدة مرجعا مرئيا للمدخل. + +يتم ذلك من خلال إعطاء الـ `label` السمة `for`، والتي تحتوي على `id` بقيمة الـ `input`. + +سيأخذ هذا القسم اسم الطالب، وعنوان البريد الإلكتروني، وتاريخ الميلاد. قم بإعطاء عناصر الـ `label` سمات `for` مناسبة، وكذلك محتوى النص. ثم قم بربط عناصر `input` إلى عناصر الـ `label` المقابلة لها. + +# --hints-- + +يجب أن تعطي أول `label` سمة `for` مناسبة. + +```js +assert.isAtLeast(document.querySelectorAll('label')?.[0]?.htmlFor?.length, 1); +``` + +يجب أن تعطي ثاني `label` سمة `for` مناسبة. + +```js +assert.isAtLeast(document.querySelectorAll('label')?.[1]?.htmlFor?.length, 1); +``` + +يجب أن تعطي ثالث `label` سمة `for` مناسبة. + +```js +assert.isAtLeast(document.querySelectorAll('label')?.[2]?.htmlFor?.length, 1); +``` + +يجب عليك إعطاء أول عنصر `label` محتوى نصي مناسب. + +```js +assert.isAtLeast(document.querySelectorAll('label')?.[0]?.textContent?.length, 1); +``` + +يجب عليك إعطاء ثاتي عنصر `label` محتوى نصي مناسب. + +```js +assert.isAtLeast(document.querySelectorAll('label')?.[1]?.textContent?.length, 1); +``` + +يجب عليك إعطاء ثالث عنصر `label` محتوى نصي مناسب. + +```js +assert.isAtLeast(document.querySelectorAll('label')?.[2]?.textContent?.length, 1); +``` + +يجب أن تعطي عنصر `input` الاول، السمة `id` التي تطابق سمة `for` للـ `label` الاول. + +```js +assert.equal(document.querySelectorAll('input')?.[0]?.id, document.querySelectorAll('label')?.[0]?.htmlFor); +``` + +يجب أن تعطي عنصر `input` الثاني، السمة `id` التي تطابق سمة `for` للـ `label` الثاني. + +```js +assert.equal(document.querySelectorAll('input')?.[1]?.id, document.querySelectorAll('label')?.[1]?.htmlFor); +``` + +يجب أن تعطي عنصر `input` الثالث، السمة `id` التي تطابق سمة `for` للـ `label` الثالث. + +```js +assert.equal(document.querySelectorAll('input')?.[2]?.id, document.querySelectorAll('label')?.[2]?.htmlFor); +``` + +يجب ألا تستخدم نفس سمة الـ `id` لأكثر من عنصر `input`. + +```js +const id = (n) => document.querySelectorAll('input')?.[n]?.id; +assert.notEqual(id(0), id(1)); +assert.notEqual(id(0), id(2)); +assert.notEqual(id(1), id(2)); +``` + +يجب ألا تستخدم نفس سمة الـ `for` لأكثر من عنصر `label`. + +```js +const htmlFor = (n) => document.querySelectorAll('label')?.[n]?.htmlFor; +assert.notEqual(htmlFor(0), htmlFor(1)); +assert.notEqual(htmlFor(0), htmlFor(2)); +assert.notEqual(htmlFor(1), htmlFor(2)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+--fcc-editable-region-- +
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+--fcc-editable-region-- +
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143908b6aafb00a659ca189.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143908b6aafb00a659ca189.md new file mode 100644 index 00000000000..479da772cbf --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143908b6aafb00a659ca189.md @@ -0,0 +1,161 @@ +--- +id: 6143908b6aafb00a659ca189 +title: الخطوة ٢١ +challengeType: 0 +dashedName: step-21 +--- + +# --description-- + +قم بمراعاة أفضل الممارسات لمدخلات النموذج (form inputs)، قم بإعطاء كل `input` سمة الـ `type` و `name` المناسبين. ثم أعطي أول `input` السمة `placeholder`. + +# --hints-- + +يجب عليك إعطاء أول عنصر `input`الـ `type` بقيمة `text`. + +```js +assert.equal(document.querySelectorAll('input')?.[0]?.type, 'text'); +``` + +يجب عليك إعطاء ثاني عنصر `input`الـ `type` بقيمة `email`. + +```js +assert.equal(document.querySelectorAll('input')?.[1]?.type, 'email'); +``` + +يجب عليك إعطاء ثالث عنصر `input`الـ `type` بقيمة `date`. + +```js +assert.equal(document.querySelectorAll('input')?.[2]?.type, 'date'); +``` + +يجب أن تعطي أول `input` سمة `name` مناسبة. + +```js +assert.isAtLeast(document.querySelectorAll('input')?.[0]?.name?.length, 1); +``` + +يجب أن تعطي ثاني `input` سمة `name` مناسبة. + +```js +assert.isAtLeast(document.querySelectorAll('input')?.[1]?.name?.length, 1); +``` + +يجب أن تعطي ثالث `input` سمة `name` مناسبة. + +```js +assert.isAtLeast(document.querySelectorAll('input')?.[2]?.name?.length, 1); +``` + +ثم أعطي أول `input` السمة `placeholder`. + +```js +assert.notEmpty(document.querySelectorAll('input')?.[0]?.placeholder); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+--fcc-editable-region-- +
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+--fcc-editable-region-- +
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143920c8eafb00b735746ce.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143920c8eafb00b735746ce.md new file mode 100644 index 00000000000..660e00ac218 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143920c8eafb00b735746ce.md @@ -0,0 +1,127 @@ +--- +id: 6143920c8eafb00b735746ce +title: الخطوة ٢٢ +challengeType: 0 +dashedName: step-22 +--- + +# --description-- + +مع أنّ أنك أضفت `placeholder` إلى العنصر `input` الأول في الدرس السابق، هذه الممارسة ليست في الواقع أفضل ممارسة لتيسير الوصول؛ في كثير من الأحيان، يخلط المستخدمون بين النص النائب (placeholder text) وقيمة الإدخال الفعلية - و يعتقدون أن هناك قيمة فعلًا في حقل الإدخال. + +أزل placeholder text من عنصر `input` الأول، معتمدا على `label` باعتبارها أفضل الممارسات. + +# --hints-- + +يجب عليك إزالة السمة `placeholder` من عنصر `input`. + +```js +assert.isEmpty(document.querySelectorAll('input')?.[0]?.placeholder); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+--fcc-editable-region-- +
+ + +
+--fcc-editable-region-- +
+ + +
+
+ + +
+
+
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143931a113bb80c45546287.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143931a113bb80c45546287.md new file mode 100644 index 00000000000..b35e4d4bbf8 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143931a113bb80c45546287.md @@ -0,0 +1,139 @@ +--- +id: 6143931a113bb80c45546287 +title: الخطوة ٢٣ +challengeType: 0 +dashedName: step-23 +--- + +# --description-- + +يمكن القول بأن `D.O.B.` ليس وصفيا بما فيه الكفاية. وينطبق هذا بصفة خاصة على المستخدمين ذوي الإعاقة البصرية. إحدى الطرق لمعالجة هذه المسألة، دون الحاجة إلى إضافة نص مرئي إلى label، هو إضافة نص فقط يمكن قراءة فقط من قارئ الشاشة. + +ألحق عنصر `span` مع class بقيمة `sr-only` ألى محتوى النص الحالي لعنصر `label` الثالث. + +# --hints-- + +يجب عليك إضافة عنصر `span` ضمن عنصر `label` الثالث. + +```js +assert.exists(document.querySelector('.info:nth-of-type(3) > label > span')); +``` + +يجب أن تعطي العنصر `span` سمة class بقيمة `sr-only`. + +```js +assert.equal(document.querySelector('.info:nth-of-type(3) > label > span')?.className, 'sr-only'); +``` + +يجب عليك وضع `span` بعد محتوى النص `D.O.B.`. + +```js +assert.match(document.querySelector('.info:nth-of-type(3) > label')?.innerHTML, /D\.O\.B\. + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+--fcc-editable-region-- +
+ + +
+--fcc-editable-region-- +
+
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614394fb41985e0d2012a93e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614394fb41985e0d2012a93e.md new file mode 100644 index 00000000000..8ae3e5c361b --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614394fb41985e0d2012a93e.md @@ -0,0 +1,125 @@ +--- +id: 614394fb41985e0d2012a93e +title: الخطوة ٢٤ +challengeType: 0 +dashedName: step-24 +--- + +# --description-- + +ضمن عنصر `span` ، أضف النص `(Date of Birth)`. + +# --hints-- + +يجب عليك إعطاء عنصر `span` النص `(Date of Birth)`. + +```js +assert.equal(document.querySelector('.info:nth-of-type(3) > label > span')?.textContent, '(Date of Birth)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+--fcc-editable-region-- +
+ + +
+--fcc-editable-region-- +
+
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143956ed76ed60e012faa51.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143956ed76ed60e012faa51.md new file mode 100644 index 00000000000..45ec5b15c3b --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143956ed76ed60e012faa51.md @@ -0,0 +1,197 @@ +--- +id: 6143956ed76ed60e012faa51 +title: خطوة ٢٥ +challengeType: 0 +dashedName: step-25 +--- + +# --description-- + +لا يزال نص `.sr-only` مرئيًا. هناك نمط شائع لإخفاء النص بصرياً للقراءة فقط من قارئ الشاشات (screen readers). + +هذا النمط هو لتعيين خصائص CSS التالية: + +```css +position: absolute; +width: 1px; +height: 1px; +padding: 0; +margin: -1px; +overflow: hidden; +clip: rect(0, 0, 0, 0); +white-space: nowrap; +border: 0; +``` + +استخدم ما سبق لتعريف class الـ `sr-only`. + +# --hints-- + +يجب عليك استخدام منتقي `.sr-only` فقط. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('.sr-only')); +``` + +يجب أن تعطي `.sr-only` الـ `position` بقيمة `absolute`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.sr-only')?.position, 'absolute'); +``` + +يجب أن تعطي `.sr-only` الـ `width` بقيمة `1px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.sr-only')?.width, '1px'); +``` + +يجب أن تعطي `.sr-only` الـ `height` بقيمة `1px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.sr-only')?.height, '1px'); +``` + +يجب أن تعطي `.sr-only` الـ `padding` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.sr-only')?.padding, '0px'); +``` + +يجب أن تعطي `.sr-only` الـ `margin` بقيمة `-1px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.sr-only')?.margin, '-1px'); +``` + +يجب أن تعطي `.sr-only` الـ `overflow` بقيمة `hidden`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.sr-only')?.overflow, 'hidden'); +``` + +يجب أن تعطي `.sr-only` الـ `clip` بقيمة `rect(0, 0, 0, 0)`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.sr-only')?.clip, 'rect(0px, 0px, 0px, 0px)'); +``` + +يجب أن تعطي `.sr-only` الـ `white-space` بقيمة `nowrap`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.sr-only')?.whiteSpace, 'nowrap'); +``` + +يجب أن تعطي `.sr-only` الـ `border` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.sr-only')?.borderWidth, '0px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614396f7ae83f20ea6f9f4b3.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614396f7ae83f20ea6f9f4b3.md new file mode 100644 index 00000000000..e63aedd46fe --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614396f7ae83f20ea6f9f4b3.md @@ -0,0 +1,200 @@ +--- +id: 614396f7ae83f20ea6f9f4b3 +title: الخطوة ٢٦ +challengeType: 0 +dashedName: step-26 +--- + +# --description-- + +داخل عنصر `section` الثاني، قم بإضافة عنصرين `div` يحملين class بقيمة `question-block`. + +ثم داخل كل عنصر `div.question-block`، قم بإضافة عنصر `p` مع نص للأرقام المتزايدة، بدءا من `1`، و `fieldset` واحد مع class بقيمة `question`. + +# --hints-- + +يجب أن يكون لديك عنصرين `div` داخل عنصر `section` الثاني. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(2) > div')?.length, 2); +``` + +يجب عليك إعطاء أول عنصر `div` جديد class بقيمة `question-block`. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(2) > div')?.[0]?.className, 'question-block'); +``` + +يجب أن تعطي العنصر `div` الجديد الثاني class بقيمة `question-block`. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(2) > div')?.[1]?.className, 'question-block'); +``` + +يجب عليك دمج عنصر `p` واحد داخل كل عنصر من عناصر `div.question-block`. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(2) > div.question-block > p')?.length, 2); +``` + +يجب عليك إعطاء أول عنصر `p` النص `1`. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(2) > div.question-block > p')?.[0]?.textContent, '1'); +``` + +يجب عليك إعطاء ثاني عنصر `p` النص `2`. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(2) > div.question-block > p')?.[1]?.textContent, '2'); +``` + +يجب عليك دمج عنصر `fieldset` واحد داخل كل عنصر من عناصر `div.question-block`. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(2) > div.question-block > fieldset')?.length, 2); +``` + +يجب عليك وضع عنصر `fieldset` الأول بعد عنصر `p` الأول. + +```js +assert.exists(document.querySelector('section:nth-of-type(2) > div.question-block > p + fieldset')); +``` + +يجب عليك وضع عنصر `fieldset` الثاني بعد عنصر `p` الثاني. + +```js +assert.exists(document.querySelector('section:nth-of-type(2) > div.question-block:nth-of-type(2) > p + fieldset')); +``` + +يجب عليك إعطاء أول عنصر `fieldset` سمة class بقيمة `question`. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(2) > div.question-block > fieldset')?.[0]?.className, 'question'); +``` + +يجب عليك إعطاء ثاني عنصر `fieldset` سمة class بقيمة `question`. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(2) > div.question-block > fieldset')?.[1]?.className, 'question'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+--fcc-editable-region-- +
+

HTML

+ +
+--fcc-editable-region-- +
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143cb26f7edff2dc28f7da5.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143cb26f7edff2dc28f7da5.md new file mode 100644 index 00000000000..f8eb1955002 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6143cb26f7edff2dc28f7da5.md @@ -0,0 +1,177 @@ +--- +id: 6143cb26f7edff2dc28f7da5 +title: خطوة ٢٧ +challengeType: 0 +dashedName: step-27 +--- + +# --description-- + +كل `fieldset` سوف تحتوي على معدلة true/false. + +داخل كل `fieldset`، قم بدمج عنصر `legend` واحد وعنصر `ul` مع خيارين. + +# --hints-- + +يجب عليك دمج عنصر `legend` واحد داخل أول عنصر `fieldset`. + +```js +assert.equal(document.querySelectorAll('.question-block:nth-of-type(1) > fieldset > legend')?.length, 1); +``` + +يجب عليك دمج عنصر `ul` واحد داخل أول عنصر `fieldset`. + +```js +assert.equal(document.querySelectorAll('.question-block:nth-of-type(1) > fieldset > ul')?.length, 1); +``` + +يجب عليك دمج عنصرين `li` واحد داخل أول عنصر `ul`. + +```js +assert.equal(document.querySelectorAll('fieldset > ul')?.[0]?.querySelectorAll('li')?.length, 2); +``` + +يجب عليك دمج عنصر `legend` واحد داخل ثاني عنصر `fieldset`. + +```js +assert.equal(document.querySelectorAll('.question-block:nth-of-type(2) > fieldset > legend')?.length, 1); +``` + +يجب عليك دمج عنصر `ul` واحد داخل ثاني عنصر `fieldset`. + +```js +assert.equal(document.querySelectorAll('.question-block:nth-of-type(2) > fieldset > ul')?.length, 1); +``` + +يجب عليك دمج عنصرين `li` واحد داخل ثاني عنصر `ul`. + +```js +assert.equal(document.querySelectorAll('fieldset > ul')?.[1]?.querySelectorAll('li')?.length, 2); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+--fcc-editable-region-- +
+

HTML

+
+

1

+
+
+
+

2

+
+
+
+--fcc-editable-region-- +
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144e818fd5ea704fe56081d.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144e818fd5ea704fe56081d.md new file mode 100644 index 00000000000..f798c25ea85 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144e818fd5ea704fe56081d.md @@ -0,0 +1,195 @@ +--- +id: 6144e818fd5ea704fe56081d +title: الخطوة ٢٨ +challengeType: 0 +dashedName: step-28 +--- + +# --description-- + +اعطي كل `fieldset` سمة `name` مناسبة. ثم أعطى كلتا القوائم الغير منظمة (unordered lists) خاصية `class` بقيمة `answers-list`. + +أخيرا، استخدم `legend` لشرح محتوى `fieldset` عن طريق وضع معدلة true/false كمحتوى نصي. + +# --hints-- + +يجب أن تعطي أول `fieldset` سمة `name` مناسبة. _تلميح: سأستخدم `html-question-one`_ + +```js +assert.notEmpty(document.querySelectorAll('fieldset')?.[0]?.name); +``` + +يجب أن تعطي ثاني `fieldset` سمة `name` مناسبة. _تلميح: سأستخدم `html-question-two`_ + +```js +assert.notEmpty(document.querySelectorAll('fieldset')?.[1]?.name); +``` + +يجب عليك إعطاء أول عنصر `ul` سمة `class` بقيمة `answers-list`. + +```js +assert.equal(document.querySelectorAll('fieldset > ul')?.[0]?.className, 'answers-list'); +``` + +يجب عليك إعطاء ثاني عنصر `ul` سمة `class` بقيمة `answers-list`. + +```js +assert.equal(document.querySelectorAll('fieldset > ul')?.[1]?.className, 'answers-list'); +``` + +يجب عليك إعطاء أول عنصر `legend` محتوى نصي. + +```js +assert.notEmpty(document.querySelectorAll('legend')?.[0]?.textContent); +``` + +يجب عليك إعطاء ثاني عنصر `legend` محتوى نصي. + +```js +assert.notEmpty(document.querySelectorAll('legend')?.[1]?.textContent); +``` + +لا يجب عليك استخدام نفس المحتوى النصي لكلا العنصرين `legend`. + +```js +assert.notEqual(document.querySelectorAll('legend')?.[0]?.textContent, document.querySelectorAll('legend')?.[1]?.textContent); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+--fcc-editable-region-- +
+

HTML

+
+

1

+
+ +
    +
  • +
  • +
+
+
+
+

2

+
+ +
    +
  • +
  • +
+
+
+
+--fcc-editable-region-- +
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144f8dc6849e405dd8bb829.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144f8dc6849e405dd8bb829.md new file mode 100644 index 00000000000..3562e1ed1d6 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6144f8dc6849e405dd8bb829.md @@ -0,0 +1,231 @@ +--- +id: 6144f8dc6849e405dd8bb829 +title: الخطوة ٢٩ +challengeType: 0 +dashedName: step-29 +--- + +# --description-- + +لتوفير وظيفة الأسئلة true/fals، نحن بحاجة إلى مجموعة من المدخلات لا تسمح باختيار كلا الخيارين في نفس الوقت. + +داخل كل عنصر من عناصر الـ list، ضع عنصر `label` واحد، و ضمن كل عنصر `label`, ضع عنصر `input` مع الـ `type` المناسب. + +# --hints-- + +يجب عليك دمج عنصرين `label` داخل اول عنصر `li`. + +```js +assert.exists(document.querySelectorAll('ul.answers-list > li')?.[0]?.querySelector('label')); +``` + +يجب عليك دمج عنصر `label` واحد داخل ثاني عنصر `li`. + +```js +assert.exists(document.querySelectorAll('ul.answers-list > li')?.[1]?.querySelector('label')); +``` + +يجب عليك دمج عنصر `label` واحد داخل ثالث عنصر `li`. + +```js +assert.exists(document.querySelectorAll('ul.answers-list > li')?.[2]?.querySelector('label')); +``` + +يجب عليك دمج عنصر `label` واحد داخل رابع عنصر `li`. + +```js +assert.exists(document.querySelectorAll('ul.answers-list > li')?.[3]?.querySelector('label')); +``` + +يجب عليك دمج عنصر `input` واحد داخل اول عنصر `label`. + +```js +assert.exists(document.querySelectorAll('ul.answers-list > li')?.[0]?.querySelector('label')?.querySelector('input')); +``` + +يجب عليك دمج عنصر `input` واحد داخل ثاني عنصر `label`. + +```js +assert.exists(document.querySelectorAll('ul.answers-list > li')?.[1]?.querySelector('label')?.querySelector('input')); +``` + +يجب عليك دمج عنصر `input` واحد داخل ثالث عنصر `label`. + +```js +assert.exists(document.querySelectorAll('ul.answers-list > li')?.[2]?.querySelector('label')?.querySelector('input')); +``` + +يجب عليك دمج عنصر `input` واحد داخل رابع عنصر `label`. + +```js +assert.exists(document.querySelectorAll('ul.answers-list > li')?.[3]?.querySelector('label')?.querySelector('input')); +``` + +يجب عليك إعطاء أول عنصر `input`الـ `type` بقيمة `radio`. + +```js +assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[0]?.type, 'radio'); +``` + +يجب عليك إعطاء ثاني عنصر `input`الـ `type` بقيمة `radio`. + +```js +assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[1]?.type, 'radio'); +``` + +يجب عليك إعطاء ثالث عنصر `input`الـ `type` بقيمة `radio`. + +```js +assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[2]?.type, 'radio'); +``` + +يجب عليك إعطاء رابع عنصر `input`الـ `type` بقيمة `radio`. + +```js +assert.equal(document.querySelectorAll('ul.answers-list > li > label > input')?.[3]?.type, 'radio'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +--fcc-editable-region-- +
    +
  • +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • +
  • +
+--fcc-editable-region-- +
+
+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e6eeaa66c605eb087fe9.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e6eeaa66c605eb087fe9.md new file mode 100644 index 00000000000..8bce58f40b2 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e6eeaa66c605eb087fe9.md @@ -0,0 +1,207 @@ +--- +id: 6145e6eeaa66c605eb087fe9 +title: الخطوة ٣٠ +challengeType: 0 +dashedName: step-30 +--- + +# --description-- + +على الرغم من أنه غير مطلوب لعناصر `label` التي بداخلها `input`، لا يزال من أفضل الممارسات ربط `label` ربطاً صريحاً بعنصر `input` الخاص به. + +قم بربط عناصر `label` مع عناصر `input` الخاصه بها. + +# --hints-- + +يجب عليك إعطاء أول `label` سمة `for` التي تطابق الـ `id` لعنصر الـ `input` الخاص به. + +```js +const htmlFor = document.querySelectorAll('ul.answers-list > li > label')?.[0]?.htmlFor; +assert.notEmpty(htmlFor); +assert.equal(htmlFor, document.querySelectorAll('ul.answers-list > li > label > input')?.[0]?.id); +``` + +يجب عليك إعطاء ثاني `label` سمة `for` التي تطابق الـ `id` لعنصر الـ `input` الخاص به. + +```js +const htmlFor = document.querySelectorAll('ul.answers-list > li > label')?.[1]?.htmlFor; +assert.notEmpty(htmlFor); +assert.equal(htmlFor, document.querySelectorAll('ul.answers-list > li > label > input')?.[1]?.id); +``` + +يجب عليك إعطاء ثالث `label` سمة `for` التي تطابق الـ `id` لعنصر الـ `input` الخاص به. + +```js +const htmlFor = document.querySelectorAll('ul.answers-list > li > label')?.[2]?.htmlFor; +assert.notEmpty(htmlFor); +assert.equal(htmlFor, document.querySelectorAll('ul.answers-list > li > label > input')?.[2]?.id); +``` + +يجب عليك إعطاء رابع `label` سمة `for` التي تطابق الـ `id` لعنصر الـ `input` الخاص به. + +```js +const htmlFor = document.querySelectorAll('ul.answers-list > li > label')?.[3]?.htmlFor; +assert.notEmpty(htmlFor); +assert.equal(htmlFor, document.querySelectorAll('ul.answers-list > li > label > input')?.[3]?.id); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +--fcc-editable-region-- +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+--fcc-editable-region-- +
+
+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md new file mode 100644 index 00000000000..97ec83ace33 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md @@ -0,0 +1,287 @@ +--- +id: 6145e8b5080a5f06bb0223d0 +title: الخطوة ٣١ +challengeType: 0 +dashedName: step-31 +--- + +# --description-- + +اعطي عناصر `label` نص بحيث أن `input` يأتي قبل النص. ثم اعطي عناصر `input` سمة `value` المطابق للنص. + +يجب أن يكون النص `True` أو `False`. + +# --hints-- + +يجب عليك إعطاء أول عنصر `label` محتوى نصي. + +```js +assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label')?.[0]?.textContent?.trim()); +``` + +يجب عليك إعطاء ثاني عنصر `label` محتوى نصي. + +```js +assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label')?.[1]?.textContent?.trim()); +``` + +يجب عليك إعطاء ثالث عنصر `label` محتوى نصي. + +```js +assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label')?.[2]?.textContent?.trim()); +``` + +يجب عليك إعطاء رابع عنصر `label` محتوى نصي. + +```js +assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label')?.[3]?.textContent?.trim()); +``` + +يجب عليك وضع المحتوى النصي داخل `label` الأول بعد عنصر `input`. + +```js +assert.match(document.querySelectorAll('ul.answers-list > li > label')?.[0]?.innerHTML, />[\s\S]+[a-zA-Z]/); +``` + +يجب عليك وضع المحتوى النصي داخل `label` الثاني بعد عنصر `input`. + +```js +assert.match(document.querySelectorAll('ul.answers-list > li > label')?.[1]?.innerHTML, />[\s\S]+[a-zA-Z]/); +``` + +يجب عليك وضع المحتوى النصي داخل `label` الثالث بعد عنصر `input`. + +```js +assert.match(document.querySelectorAll('ul.answers-list > li > label')?.[2]?.innerHTML, />[\s\S]+[a-zA-Z]/); +``` + +يجب عليك وضع المحتوى النصي داخل `label` الرابع بعد عنصر `input`. + +```js +assert.match(document.querySelectorAll('ul.answers-list > li > label')?.[3]?.innerHTML, />[\s\S]+[a-zA-Z]/); +``` + +يجب عليك إعطاء أول `label` النص `True` أو `False`. + +```js +assert.include(['True', 'False'], document.querySelectorAll('ul.answers-list > li > label')?.[0]?.textContent?.trim()); +``` + +يجب عليك إعطاء ثاني عنصر `label` النص `True`. + +```js +const l = (n) => document.querySelectorAll('ul.answers-list > li > label')?.[n]?.textContent?.trim(); +assert(l(0) === 'False' ? l(1) === 'True' : true); +``` + +يجب عليك إعطاء ثاني عنصر `label` النص `False`. + +```js +const l = (n) => document.querySelectorAll('ul.answers-list > li > label')?.[n]?.textContent?.trim(); +assert(l(0) === 'True' ? l(1) === 'False' : true); +``` + +يجب عليك ثالث عنصر `label` النص `True` أو `False`. + +```js +assert.include(['True', 'False'], document.querySelectorAll('ul.answers-list > li > label')?.[2]?.textContent?.trim()); +``` + +يجب عليك إعطاء رابع عنصر `label` النص `True`. + +```js +const l = (n) => document.querySelectorAll('ul.answers-list > li > label')?.[n]?.textContent?.trim(); +assert(l(2) === 'False' ? l(3) === 'True' : true); +``` + +يجب عليك إعطاء رابع عنصر `label` النص `False`. + +```js +const l = (n) => document.querySelectorAll('ul.answers-list > li > label')?.[n]?.textContent?.trim(); +assert(l(2) === 'True' ? l(3) === 'False' : true); +``` + +يجب عليك إعطاء أول `input` سمة `value` التي تطابق محتوي `label` النصي. + +```js +assert.equal(document.querySelectorAll('ul.answers-list > li > label')?.[0]?.textContent?.trim()?.toLowerCase(), document.querySelectorAll('ul.answers-list > li > label > input')?.[0]?.value?.toLowerCase()); +``` + +يجب عليك إعطاء ثاني `input` سمة `value` التي تطابق محتوي `label` النصي. + +```js +assert.equal(document.querySelectorAll('ul.answers-list > li > label')?.[1]?.textContent?.trim()?.toLowerCase(), document.querySelectorAll('ul.answers-list > li > label > input')?.[1]?.value?.toLowerCase()); +``` + +يجب عليك إعطاء ثالث `input` سمة `value` التي تطابق محتوي `label` النصي. + +```js +assert.equal(document.querySelectorAll('ul.answers-list > li > label')?.[2]?.textContent?.trim()?.toLowerCase(), document.querySelectorAll('ul.answers-list > li > label > input')?.[2]?.value?.toLowerCase()); +``` + +يجب عليك إعطاء رابع `input` سمة `value` التي تطابق محتوي `label` النصي. + +```js +assert.equal(document.querySelectorAll('ul.answers-list > li > label')?.[3]?.textContent?.trim()?.toLowerCase(), document.querySelectorAll('ul.answers-list > li > label > input')?.[3]?.value?.toLowerCase()); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +--fcc-editable-region-- +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+--fcc-editable-region-- +
+
+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145eb5f08a38a0786c7a80c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145eb5f08a38a0786c7a80c.md new file mode 100644 index 00000000000..035fdf3fd6c --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145eb5f08a38a0786c7a80c.md @@ -0,0 +1,224 @@ +--- +id: 6145eb5f08a38a0786c7a80c +title: الخطوة ٣٢ +challengeType: 0 +dashedName: step-32 +--- + +# --description-- + +إذا نقرت على مدخلات radio، فقد تلاحظ أنه يمكن تحديد كلا المدخلين true/false في نفس fieldset في نفس الوقت. + +قم بتجميع المدخلات ذات الصلة معًا بحيث يمكن تحديد مدخل واحد فقط من الزوج في المرة الواحدة. + +# --hints-- + +يجب أن تعطي أول `input` سمة `name`. + +```js +assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label > input')?.[0]?.name); +``` + +يجب أن تعطي ثاني `input` سمة `name`. + +```js +assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label > input')?.[1]?.name); +``` + +يجب أن تعطي ثالث `input` سمة `name`. + +```js +assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label > input')?.[2]?.name); +``` + +يجب أن تعطي رابع `input` سمة `name`. + +```js +assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label > input')?.[3]?.name); +``` + +يجب أن تعطي عنصر `input` الثاني، السمة `name` التي تطابق سمة `name` لعنصر `input` الأول. + +```js +const i = (n) => document.querySelectorAll('ul.answers-list > li > label > input')?.[n]?.name; +assert.equal(i(1), i(0)); +``` + +يجب أن تعطي عنصر `input` الرابع، السمة `name` التي تطابق سمة `name` لعنصر `input` الثالث. + +```js +const i = (n) => document.querySelectorAll('ul.answers-list > li > label > input')?.[n]?.name; +assert.equal(i(3), i(2)); +``` + +يجب عليك إعطاء سمات `name` مختلفة إلى `input` الأول و `input` الثالث. + +```js +const i = (n) => document.querySelectorAll('ul.answers-list > li > label > input')?.[n]?.name; +assert.notEqual(i(0), i(2)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +--fcc-editable-region-- +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+--fcc-editable-region-- +
+
+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ed1f22caab087630aaad.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ed1f22caab087630aaad.md new file mode 100644 index 00000000000..4c7cc6f3641 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ed1f22caab087630aaad.md @@ -0,0 +1,191 @@ +--- +id: 6145ed1f22caab087630aaad +title: الخطوة ٣٣ +challengeType: 0 +dashedName: step-33 +--- + +# --description-- + +لمنع التكرار غير الضروري، استهدف عنصر زائف `before` لعنصر `p`، وقم بإعطائه خاصية `content` بقيمة `"Question #"`. + +# --hints-- + +يجب عليك استخدام منتقي `p::before`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('p::before')); +``` + +يجب عليك إعطاء عنصر زائف `p::before` خاصية `content` بقيمة `"Question #"`. + +```js +assert.include(new __helpers.CSSHelp(document).getStyle('p::before')?.content, 'Question #'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ee65e2e1530938cb594d.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ee65e2e1530938cb594d.md new file mode 100644 index 00000000000..202a7fb197c --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145ee65e2e1530938cb594d.md @@ -0,0 +1,232 @@ +--- +id: 6145ee65e2e1530938cb594d +title: الخطوة ٣٤ +challengeType: 0 +dashedName: step-34 +--- + +# --description-- + +القسم الأخير من هذا الاختبار سوف يحتوي على dropdown و text box. + +ابدأ بدمج `div` مع `class` بقيمة `formrow`، و ادمج اربع عناصر `div` بداخله، بتناوب سمات `class` الخاصة بهم بالقيم `question-block` و `answer`. + +# --hints-- + +يجب عليك إضافة عنصر `div` واحد داخل `section` الأخير. + +```js +assert.exists(document.querySelector('section:nth-of-type(3) > div')); +``` + +يجب عليك إعطاء أول عنصر `div` سمة `class` بقيمة `formrow`. + +```js +assert.equal(document.querySelector('section:nth-of-type(3) > div')?.className, 'formrow'); +``` + +يجب عليك وضع `div.formrow` بعد عنصر `h2`. + +```js +assert.exists(document.querySelector('section:nth-of-type(3) > h2 + div.formrow')); +``` + +يجب عليك دمج أربع عناصر `div` داخل `div.formrow`. + +```js +assert.equal(document.querySelectorAll('section:nth-of-type(3) > div.formrow > div')?.length, 4); +``` + +يجب عليك إعطاء أول `div` مدمج `class` بقيمة `question-block`. + +```js +assert.equal(document.querySelector('section:nth-of-type(3) > div.formrow > div:nth-of-type(1)')?.className, 'question-block'); +``` + +يجب عليك إعطاء ثاني `div` مدمج `class` بقيمة `answer`. + +```js +assert.equal(document.querySelector('section:nth-of-type(3) > div.formrow > div:nth-of-type(2)')?.className, 'answer'); +``` + +يجب عليك إعطاء ثالث `div` مدمج `class` بقيمة `question-block`. + +```js +assert.equal(document.querySelector('section:nth-of-type(3) > div.formrow > div:nth-of-type(3)')?.className, 'question-block'); +``` + +يجب عليك إعطاء رابع `div` مدمج `class` بقيمة `answer`. + +```js +assert.equal(document.querySelector('section:nth-of-type(3) > div.formrow > div:nth-of-type(4)')?.className, 'answer'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+--fcc-editable-region-- +
+

CSS

+ +
+--fcc-editable-region-- +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md new file mode 100644 index 00000000000..594f3c4807a --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md @@ -0,0 +1,215 @@ +--- +id: 6145f02240ff8f09f7ec913c +title: الخطوة ٣٥ +challengeType: 0 +dashedName: step-35 +--- + +# --description-- + +ضمن عناصر `div.question-block`، ادمج عنصر `label` واحد ،وقم بإعطاء عناصر `label` محتوى نصي + +# --hints-- + +يجب عليك دمج عنصر `label` واحد داخل اول عنصر `div.question-block`. + +```js +assert.exists(document.querySelectorAll('.formrow > .question-block')?.[0]?.querySelector('label')); +``` + +يجب عليك دمج عنصر `label` واحد داخل ثاني عنصر `div.question-block`. + +```js +assert.exists(document.querySelectorAll('.formrow > .question-block')?.[1]?.querySelector('label')); +``` + +يجب عليك إعطاء أول عنصر `label` محتوى نصي. + +```js +assert.isAtLeast(document.querySelectorAll('.formrow > .question-block')?.[0]?.querySelector('label')?.textContent?.length, 1); +``` + +يجب عليك إعطاء ثاني عنصر `label` محتوى نصي. + +```js +assert.isAtLeast(document.querySelectorAll('.formrow > .question-block')?.[1]?.querySelector('label')?.textContent?.length, 1); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+--fcc-editable-region-- +
+

CSS

+
+
+
+
+
+
+
+
+
+
+
+--fcc-editable-region-- +
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f14f019a4b0adb94b051.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f14f019a4b0adb94b051.md new file mode 100644 index 00000000000..2e497c99ced --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f14f019a4b0adb94b051.md @@ -0,0 +1,250 @@ +--- +id: 6145f14f019a4b0adb94b051 +title: الخطوة ٣٦ +challengeType: 0 +dashedName: step-36 +--- + +# --description-- + +ضمن عنصر `div.answer` الأول، ادمج عنصر واحد `select` يكون required مع ثلاثة عناصر `option`. + +اعطي العنصر `option` الأول `value` بقيمة `""` والنص `Select an option`. اعطي العنصر `option` الثاني `value` بقيمة `yes` والنص `Yes`. اعطي العنصر `option` الثالث `value` بقيمة `no` والنص `No`. + +# --hints-- + +يجب عليك دمج عنصر `select` واحد داخل أول عنصر `div.answer`. + +```js +assert.exists(document.querySelector('div.answer > select')); +``` + +يجب عليك تضمين ثلاثة عناصر `option` ضمن عنصر `select`. + +```js +assert.equal(document.querySelectorAll('div.answer > select > option')?.length, 3); +``` + +يجب عليك إعطاء أول عنصر `option` سمة `value` بقيمة `""`. + +```js +assert.equal(document.querySelector('div.answer > select > option:nth-child(1)')?.value, ''); +``` + +يجب أن تعطي عنصر `option` الأول المحتوى النصي `Select an option`. + +```js +assert.equal(document.querySelector('div.answer > select > option:nth-child(1)')?.textContent, 'Select an option'); +``` + +يجب عليك إعطاء ثاني عنصر `option` سمة `value` بقيمة `yes`. + +```js +assert.equal(document.querySelector('div.answer > select > option:nth-child(2)')?.value, 'yes'); +``` + +يجب أن تعطي عنصر `option` الثاني المحتوى النصي `Yes`. + +```js +assert.equal(document.querySelector('div.answer > select > option:nth-child(2)')?.textContent, 'Yes'); +``` + +يجب عليك إعطاء ثالث عنصر `option` سمة `value` بقيمة `no`. + +```js +assert.equal(document.querySelector('div.answer > select > option:nth-child(3)')?.value, 'no'); +``` + +يجب أن تعطي عنصر `option` الثالث المحتوى النصي `No`. + +```js +assert.equal(document.querySelector('div.answer > select > option:nth-child(3)')?.textContent, 'No'); +``` + +يجب أن تعطي `select` سمة `required`. + +```js +assert.isTrue(document.querySelector('div.answer > select')?.required); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+--fcc-editable-region-- +
+ +
+--fcc-editable-region-- +
+ +
+
+
+
+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f3a5cd9be60b9459cdd6.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f3a5cd9be60b9459cdd6.md new file mode 100644 index 00000000000..006c13d2382 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f3a5cd9be60b9459cdd6.md @@ -0,0 +1,222 @@ +--- +id: 6145f3a5cd9be60b9459cdd6 +title: الخطوة ٣٧ +challengeType: 0 +dashedName: step-37 +--- + +# --description-- + +اربط عنصر `label` الأول بعنصر `select` وقم بإعطاء عنصر `select` سمة `name`. + +# --hints-- + +يجب أن تعطي عنصر `label` سمة `for`. + +```js +assert.notEmpty(document.querySelector('.question-block > label')?.htmlFor); +``` + +يجب أن تعطي عنصر `select` سمة `id`. + +```js +assert.notEmpty(document.querySelector('.answer > select')?.id); +``` + +يجب أن تعطي عنصر `select`، السمة `id` التي تطابق سمة `for` لعنصر `label`. + +```js +assert.equal(document.querySelector('.answer > select')?.id, document.querySelector('.question-block > label')?.htmlFor); +``` + +يجب أن تعطي عنصر `select` سمة `name`. + +```js +assert.notEmpty(document.querySelector('.answer > select')?.name); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+--fcc-editable-region-- +
+ +
+
+ +
+--fcc-editable-region-- +
+ +
+
+
+
+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f47393fbe70c4d885f9c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f47393fbe70c4d885f9c.md new file mode 100644 index 00000000000..9fb9ae300d2 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f47393fbe70c4d885f9c.md @@ -0,0 +1,229 @@ +--- +id: 6145f47393fbe70c4d885f9c +title: الخطوة ٣٨ +challengeType: 0 +dashedName: step-38 +--- + +# --description-- + +ادمج عنصر `textarea` واحد ضمن عنصر `div.answer` الثاني، وقم بتعيين عدد الصفوف والأعمدة التي يحتوي عليها. + +ثم أعطِ `textarea` نص نائب (placeholder) الذي يصف مثالًا للإجابة. + +# --hints-- + +يجب أن تدمج عنصر `textarea` واحد ضمن عنصر `div.answer` الثاني. + +```js +assert.exists(document.querySelectorAll('div.answer')?.[1]?.querySelector('textarea')); +``` + +يجب أن تعطي `textarea` سمة `rows` مع عدد. + +```js +const rows = document.querySelectorAll('div.answer')?.[1]?.querySelector('textarea')?.getAttribute('rows'); +assert.notEmpty(rows); +assert.isNotNaN(Number(rows)); +``` + +يجب أن تعطي `textarea` سمة `cols` مع عدد. + +```js +const cols = document.querySelectorAll('div.answer')?.[1]?.querySelector('textarea')?.getAttribute('cols'); +assert.notEmpty(cols); +assert.isNotNaN(Number(cols)); +``` + +يجب أن تعطي `textarea` سمة `placeholder` مع نص يصف مثال لإجابة. + +```js +assert.notEmpty(document.querySelectorAll('div.answer')?.[1]?.querySelector('textarea')?.getAttribute('placeholder')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+--fcc-editable-region-- +
+ +
+--fcc-editable-region-- +
+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f59029474c0d3dc1c8b8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f59029474c0d3dc1c8b8.md new file mode 100644 index 00000000000..240411e1184 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f59029474c0d3dc1c8b8.md @@ -0,0 +1,217 @@ +--- +id: 6145f59029474c0d3dc1c8b8 +title: الخطوة ٣٩ +challengeType: 0 +dashedName: step-39 +--- + +# --description-- + +كما هو الحال مع العناصر `input` و `label` الأخرى، اربط `textarea` مع `label` المقابلة له، وقم بإعطائه السمة `name`. + +# --hints-- + +يجب أن تعطي عنصر `label` سمة `for`. + +```js +assert.notEmpty(document.querySelectorAll('.formrow > .question-block')?.[1]?.querySelector('label')?.htmlFor); +``` + +يجب أن تعطي عنصر `textarea`، السمة `id` التي تطابق سمة `for` لعنصر `label`. + +```js +assert.equal(document.querySelectorAll('.formrow > .question-block')?.[1]?.querySelector('label')?.htmlFor, document.querySelectorAll('.answer')?.[1]?.querySelector('textarea')?.id); +``` + +يجب أن تعطي عنصر `textarea` سمة `name`. + +```js +assert.notEmpty(document.querySelectorAll('.answer')?.[1]?.querySelector('textarea')?.name); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+--fcc-editable-region-- +
+ +
+
+ +
+--fcc-editable-region-- +
+
+
+
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f685797bd30df9784e8c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f685797bd30df9784e8c.md new file mode 100644 index 00000000000..625b78c2157 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f685797bd30df9784e8c.md @@ -0,0 +1,230 @@ +--- +id: 6145f685797bd30df9784e8c +title: الخطوة ٤٠ +challengeType: 0 +dashedName: step-40 +--- + +# --description-- + +لا تنس إعطاء `form` زر submit. + +# --hints-- + +يجب عليك إضافة عنصر `button` أو `input`. + +```js +assert.exists(document.querySelector('button') || document.querySelector('main > input') || document.querySelector('form > input')); +``` + +يجب عليك وضع submit ضمن عنصر `form`. + +```js +assert.exists(document.querySelector('form > button') || document.querySelector('form > input')); +``` + +يجب عليك وضع submitt بعد آخر عنصر `section`. + +```js +assert.exists(document.querySelector('section:last-of-type + button') || document.querySelector('section:last-of-type + input')); +``` + +يجب عليك إعطاء submit سمة `type` بقيمة `submit`. + +```js +assert.exists(document.querySelector('button[type="submit"]') || document.querySelector('form > input[type="submit"]')); +``` + +يجب أن يعرض submit النص `Submit`. + +```js +assert.equal(document.querySelector('button[type="submit"]')?.textContent ?? document.querySelector('input[type="submit"]')?.value, 'Submit'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+--fcc-editable-region-- +
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+--fcc-editable-region-- +
+ + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f829ac6a920ebf5797d7.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f829ac6a920ebf5797d7.md new file mode 100644 index 00000000000..4e7dd14e4dd --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f829ac6a920ebf5797d7.md @@ -0,0 +1,215 @@ +--- +id: 6145f829ac6a920ebf5797d7 +title: الخطوة ٤١ +challengeType: 0 +dashedName: step-41 +--- + +# --description-- + +عنصران semantic HTML نهائيان لهذا المشروع هما `footer` و `address`. عنصر `footer` هو حاوية لمجموعة من المحتويات المرتبطة بالصفحة، وعنصر `address` هو حاوية لمعلومات الاتصال لكاتب الصفحة. + +بعد عنصر `main`، أضف عنصر `footer` وادمج عنصر `address` واحد داخله. + +# --hints-- + +يجب عليك إضافة عنصر `footer` واحد بعد عنصر `main`. + +```js +assert.exists(document.querySelector('main + footer')); +``` + +يجب عليك دمج عنصر `address` واحد داخل عنصر `footer`. + +```js +assert.exists(document.querySelector('footer > address')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+--fcc-editable-region-- + +--fcc-editable-region-- + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f8f8bcd4370f6509078e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f8f8bcd4370f6509078e.md new file mode 100644 index 00000000000..3a690d1f3a7 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f8f8bcd4370f6509078e.md @@ -0,0 +1,218 @@ +--- +id: 6145f8f8bcd4370f6509078e +title: الخطوة ٤٢ +challengeType: 0 +dashedName: step-42 +--- + +# --description-- + +في داخل عنصر `address`، أضف ما يلي: + +```html +freeCodeCamp
+San Francisco
+California
+USA +``` + +# --hints-- + +يجب عليك إضافة النص أعلاه بما في ذلك العلامات ألأتيه `
` إلى عنصر `address`. + +```js +assert.equal(document.querySelector('address')?.innerText, 'freeCodeCamp\nSan Francisco\nCalifornia\nUSA'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+--fcc-editable-region-- +
+
+ +
+
+--fcc-editable-region-- + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fb5018cb5b100cb2a88c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fb5018cb5b100cb2a88c.md new file mode 100644 index 00000000000..92f2ef46c62 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fb5018cb5b100cb2a88c.md @@ -0,0 +1,229 @@ +--- +id: 6145fb5018cb5b100cb2a88c +title: الخطوة ٤٣ +challengeType: 0 +dashedName: step-43 +--- + +# --description-- + +عنصر `address` لا يجب أن يحتوي على موقع جغرافي فعلي. ويمكن استخدامه لتوفير رابط لهذا الموضوع. + +قم بإلقاء رابط حول النص `freeCodeCamp`، وقم بتعيين موقعه إلى `https://freecodecamp.org`. + +# --hints-- + +يجب عليك إضافة عنصر `a`. + +```js +assert.exists(document.querySelector('address > a')); +``` + +يجب أن تعطي عنصر `a` سمة `href` بقيمة `https://freecodecamp.org`. + +```js +assert.equal(document.querySelector('address > a')?.getAttribute('href'), 'https://freecodecamp.org'); +``` + +يجب عليك تغليف عنصر `a` حول النص الحالي `freeCodeCamp`. + +```js +assert.equal(document.querySelector('address > a')?.innerHTML, 'freeCodeCamp'); +assert.equal(document.querySelector('address')?.innerHTML?.match(/freeCodeCamp/g)?.length, 1); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+--fcc-editable-region-- +
+
+ freeCodeCamp
+ San Francisco
+ California
+ USA +
+
+--fcc-editable-region-- + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fc3707fc3310c277f5c8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fc3707fc3310c277f5c8.md new file mode 100644 index 00000000000..b1d844bc90f --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145fc3707fc3310c277f5c8.md @@ -0,0 +1,256 @@ +--- +id: 6145fc3707fc3310c277f5c8 +title: الخطوة ٤٤ +challengeType: 0 +dashedName: step-44 +--- + +# --description-- + +العودة إلى تصميم الصفحة. حدد عناصر القائمة (list) داخل شريط التنقل (navigation bar)، وأعطيه الأساليب (styles) التالية: + +```css +color: #dfdfe2; +margin: 0 0.2rem; +padding: 0.2rem; +display: block; +``` + +# --hints-- + +يجب عليك استخدام منتقي `nav li` او `nav > ul > li`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +assert.exists(gs('nav li') || gs('nav > ul > li')); +``` + +يجب عليك إعطاء عناصر `li` خاصية `color` بقيمة `#dfdfe2`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +const color = gs('nav li')?.color ?? gs('nav > ul > li')?.color; +assert.equal(color, 'rgb(223, 223, 226)'); +``` + +يجب عليك إعطاء عناصر `li` خاصية `margin` بقيمة `0 0.2rem`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +const margin = gs('nav li')?.margin ?? gs('nav > ul > li')?.margin; +assert.equal(margin, '0px 0.2rem'); +``` + +يجب عليك إعطاء عناصر `li` خاصية `padding` بقيمة `0.2rem`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +const padding = gs('nav li')?.padding ?? gs('nav > ul > li')?.padding; +assert.equal(padding, '0.2rem'); +``` + +يجب عليك إعطاء عناصر `li` خاصية `display` بقيمة `block`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +const display = gs('nav li')?.display ?? gs('nav > ul > li')?.display; +assert.equal(display, 'block'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md new file mode 100644 index 00000000000..62d063b527b --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md @@ -0,0 +1,260 @@ +--- +id: 614796cb8086be482d60e0ac +title: الخطوة ٤٥ +challengeType: 0 +dashedName: step-45 +--- + +# --description-- + +وفيما يتعلق بموضوع إمكانية الوصول البصري (visual accessibility,)، فإن التباين (contrast) بين العناصر عامل رئيسي. فعلى سبيل المثال، ينبغي أن يكون التباين بين النص وخلفية العنوان 4.5:1 على الأقل. + +غير لون الخط (font color) لجميع عناصر الروابط (anchor elements) داخل عناصر list إلى شيء به نسبة تباين (contrast ratio) لا تقل عن 7:1. + +# --hints-- + +يجب عليك استخدام منتقي `li > a`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('li > a')); +``` + +يجب عليك إعطاء عنصر `a` خاصية `color`. + +```js +assert.notEmpty(new __helpers.CSSHelp(document).getStyle('li > a')?.color); +``` + +يجب أن تعطي الخاصية `color` تباين مع الخلفية بنسبة 7:1 على الأقل. _تلميح: سأستخدم `#dfdfe2`_ + +```js +function luminance(r, g, b) { + const a = [r, g, b].map((v) => { + v /= 255; + return v <= 0.03928 ? v / 12.92 : Math.pow( (v + 0.055) / 1.055, 2.4 ); + }); + return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722; +} +function contrast(rgb1, rgb2) { + const lum1 = luminance(rgb1[0], rgb1[1], rgb1[2]); + const lum2 = luminance(rgb2[0], rgb2[1], rgb2[2]); + const brightest = Math.max(lum1, lum2); + const darkest = Math.min(lum1, lum2); + return (brightest + 0.05) + / (darkest + 0.05); +} +const backgroundColour = [27, 27, 50]; + +for (let elem of document.querySelectorAll('li > a')) { + const a = getComputedStyle(elem)?.color; + const rgbA = a?.match(/(\d+),\s(\d+),\s(\d+)/); + const aColour = [rgbA[1], rgbA[2], rgbA[3]]; + assert.isAtLeast(contrast(backgroundColour, aColour), 7); +} +``` + + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6147a14ef5668b5881ef2297.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6147a14ef5668b5881ef2297.md new file mode 100644 index 00000000000..c5b0eb5b121 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6147a14ef5668b5881ef2297.md @@ -0,0 +1,260 @@ +--- +id: 6147a14ef5668b5881ef2297 +title: الخطوة ٤٦ +challengeType: 0 +dashedName: step-46 +--- + +# --description-- + +لجعل أزرار التنقل (navigation buttons) تبدو أشبه بالأزرار العادية، قم بإزالة التسطير (underline) من الروابط (anchor tags). + +ثم قم بإنشاء منتقي جديد يستهدف عناصر قائمة التنقل (navigation list elements) بحيث عندما يحوم المؤشر فوقها، يتم تبديل لون الخلفية ولون النص، ويصبح المؤشر (cursor) بشكل pointer. + +# --hints-- + +يجب عليك استخدام منتقي `li > a` لتعيين `text-decoration` إلى `none`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('li > a')?.textDecoration, 'none'); +``` + +يجب عليك استخدام إما المنتقي `nav > ul > li:hover` أو `nav li:hover` لتحديد نمط العناصر عندما يحوم المؤشر عليهم. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +assert.exists(gs('nav > ul > li:hover') || gs('nav li:hover')); +``` + +يجب عليك إعطاء عناصر `li` التي يحام عليها (hovered) الـ `background-color` بقيمة `#dfdfe2`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +const bgColor = gs('nav > ul > li:hover')?.backgroundColor ?? gs('nav li:hover')?.backgroundColor; +assert.equal(bgColor, 'rgb(223, 223, 226)'); +``` + +يجب عليك إعطاء عناصر `li` التي يحام عليها (hovered) الـ `color` بقيمة `#1b1b32`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +const color = gs('nav > ul > li:hover')?.color ?? gs('nav li:hover')?.color; +assert.equal(color, 'rgb(27, 27, 50)'); +``` + +يجب عليك إعطاء عناصر `li` التي يحام عليها (hovered) الـ `cursor` بقيمة `pointer`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +const cursor = gs('nav > ul > li:hover')?.cursor ?? gs('nav li:hover')?.cursor; +assert.equal(cursor, 'pointer'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +--fcc-editable-region-- + + +li > a { + color: inherit; +} +--fcc-editable-region-- + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md new file mode 100644 index 00000000000..f116c77961a --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md @@ -0,0 +1,253 @@ +--- +id: 614878f7a412310647873015 +title: الخطوة ٤٧ +challengeType: 0 +dashedName: step-47 +--- + +# --description-- + +قم بتنظيف `header` باستخدام _Flexbox_ لوضع مسافة بين الأطفال، وتوسيطهم رأسياً. + +ثم قم بتثبيت `header` إلى الجزء العلوي من نافذة العرض (viewport). + +# --hints-- + +يجب عليك إعطاء `header` خاصية `justify-content` بقيمة `space-between`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.justifyContent, 'space-between'); +``` + +يجب عليك إعطاء `header` خاصية `align-items` بقيمة `center`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.alignItems, 'center'); +``` + +يجب عليك إعطاء `header` خاصية `position` بقيمة `fixed`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.position, 'fixed'); +``` + +يجب عليك إعطاء `header` خاصية `top` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.top, '0px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +--fcc-editable-region-- +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + +} +--fcc-editable-region-- + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md new file mode 100644 index 00000000000..868f637117a --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487b77d4a37707073a64e5.md @@ -0,0 +1,261 @@ +--- +id: 61487b77d4a37707073a64e5 +title: الخطوة ٤٨ +challengeType: 0 +dashedName: step-48 +--- + +# --description-- + +عندما يكون عرض الشاشة صغيراً، فإن `h1` لا يغلف محتوى نصه كما ينبغي. لتغلفه العنصر كما ينبغي يحاذ (align) كتابة في العنصر `h1` إلى المركز (center). + +ثم اعطي `main` خاصية padding بحيث يمكن رؤية section header من `Student Info` بشكل كامل. + +# --hints-- + +يجب عليك إعطاء `h1` خاصية `text-align` بقيمة `center`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('h1')?.textAlign, 'center'); +``` + +يجب عليك إضافة منتقي `main` لاستهداف عنصر `main`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('main')); +``` + +يجب عليك إعطاء `main` خاصية `padding-top` بقيمة `25px` علي الأقل. + +```js +assert.isAtLeast(Number(new __helpers.CSSHelp(document).getStyle('main')?.paddingTop?.replace(/\D+/, '')), 25); +``` + +يجب عليك فقط تغيير قيمة `padding-top`. + +```js +assert.isEmpty(new __helpers.CSSHelp(document).getStyle('main')?.paddingBottom); +assert.isEmpty(new __helpers.CSSHelp(document).getStyle('main')?.paddingLeft); +assert.isEmpty(new __helpers.CSSHelp(document).getStyle('main')?.paddingRight); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +--fcc-editable-region-- +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + +} + + +--fcc-editable-region-- + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487da611a65307e78d2c20.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487da611a65307e78d2c20.md new file mode 100644 index 00000000000..cdfc7a0cce2 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487da611a65307e78d2c20.md @@ -0,0 +1,275 @@ +--- +id: 61487da611a65307e78d2c20 +title: الخطوة ٤٩ +challengeType: 0 +dashedName: step-49 +--- + +# --description-- + +على الشاشات الصغيرة، تتجاوز (overflows) القائمة الغير منظمة (unordered list) في شريط التنقل (navigation bar) الجانب الأيمن من الشاشة العرض. + +أصلح هذا باستخدام _Flexbox_ لتغليف محتوى `ul`. بعد ذلك، قم بتعيين خصائص CSS التالية لمحاذاة النص بشكل صحيح: + +```css +align-items: center; +padding-inline-start: 0; +margin-block: 0; +height: 100%; +``` + +# --hints-- + +يجب عليك إعطاء `ul` خاصية `flex-wrap` بقيمة `wrap`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.flexWrap, 'wrap'); +``` + +يجب عليك إعطاء `ul` خاصية `align-items` بقيمة `center`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.alignItems, 'center'); +``` + +يجب عليك إعطاء `ul` خاصية `padding-inline-start` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.paddingInlineStart, '0px'); +``` + +يجب عليك إعطاء `ul` خاصية `margin-block` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.marginBlock, '0px'); +``` + +يجب عليك إعطاء `ul` خاصية `height` بقيمة `100%`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('nav > ul')?.height, '100%'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +--fcc-editable-region-- +nav > ul { + display: flex; + justify-content: space-evenly; + +} +--fcc-editable-region-- + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487f703571b60899055cf9.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487f703571b60899055cf9.md new file mode 100644 index 00000000000..917ba09e4d3 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61487f703571b60899055cf9.md @@ -0,0 +1,287 @@ +--- +id: 61487f703571b60899055cf9 +title: الخطوة ٥٠ +challengeType: 0 +dashedName: step-50 +--- + +# --description-- + +عيّن عرض عناصر `section` إلى `80%` من الحاوية الأساسي (parent container). ثم استخدم margins لتركيز عناصر `section`، بإضافة `10px` إلى bottom margin. + +أيضا، تأكد من أن عناصر `section` لا يمكن أن تكون أكبر من width بقيمة `600px`. + +# --hints-- + +يجب عليك استخدام منتقي `section`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('section')); +``` + +يجب عليك إعطاء `section` خاصية `width` بقيمة `80%`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('section')?.width, '80%'); +``` + +يجب عليك إعطاء `section` خاصية `margin-top` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('section')?.marginTop, '0px'); +``` + +يجب عليك إعطاء `section` خاصية `margin-right` بقيمة `auto`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('section')?.marginRight, 'auto'); +``` + +يجب عليك إعطاء `section` خاصية `margin-bottom` بقيمة `10px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('section')?.marginBottom, '10px'); +``` + +يجب عليك إعطاء `section` خاصية `margin-left` بقيمة `auto`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('section')?.marginLeft, 'auto'); +``` + +يجب عليك إعطاء `section` خاصية `max-width` بقيمة `600px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('section')?.maxWidth, '600px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +--fcc-editable-region-- + + +--fcc-editable-region-- + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; +} + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614880dc16070e093e29bc56.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614880dc16070e093e29bc56.md new file mode 100644 index 00000000000..58d36561e33 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614880dc16070e093e29bc56.md @@ -0,0 +1,259 @@ +--- +id: 614880dc16070e093e29bc56 +title: الخطوة ٥١ +challengeType: 0 +dashedName: step-51 +--- + +# --description-- + +استبدل الهامش العلوي (top margin) للعناصر `h2` بقيمة `60px` من top padding. + +# --hints-- + +يجب عليك إعطاء `h2` خاصية `margin-top` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('h2')?.marginTop, '0px'); +``` + +يجب عليك إعطاء `h2` خاصية `padding-top` بقيمة `60px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('h2')?.paddingTop, '60px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +--fcc-editable-region-- +h2 { + border-bottom: 4px solid #dfdfe2; + +} +--fcc-editable-region-- + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614883b6fa720e09fb167de9.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614883b6fa720e09fb167de9.md new file mode 100644 index 00000000000..78b20504772 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614883b6fa720e09fb167de9.md @@ -0,0 +1,280 @@ +--- +id: 614883b6fa720e09fb167de9 +title: الخطوة ٥٢ +challengeType: 0 +dashedName: step-52 +--- + +# --description-- + +قم إضافة padding إلى الجزء العلوي والأيسر من عناصر `.info`، وتعيين القيم الأخرى إلى `0`. + +# --hints-- + +يجب عليك استخدام منتقي `.info`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('.info')); +``` + +يجب عليك إعطاء `.info` خاصية `padding-top` بقيمة `1px`. + +```js +assert.isAtLeast(Number(new __helpers.CSSHelp(document).getStyle('.info')?.paddingTop?.replace(/\D+/, '')), 1); +``` + +يجب عليك إعطاء `.info` خاصية `padding-right` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.info')?.paddingRight, '0px'); +``` + +يجب عليك إعطاء `.info` خاصية `padding-bottom` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.info')?.paddingBottom, '0px'); +``` + +يجب عليك إعطاء `.info` خاصية `padding-left` بقيمة `1px` علي الأقل. + +```js +assert.isAtLeast(Number(new __helpers.CSSHelp(document).getStyle('.info')?.paddingLeft?.replace(/\D+/, '')), 1); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614884c1f5d6f30ab3d78cde.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614884c1f5d6f30ab3d78cde.md new file mode 100644 index 00000000000..de928394fd0 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614884c1f5d6f30ab3d78cde.md @@ -0,0 +1,364 @@ +--- +id: 614884c1f5d6f30ab3d78cde +title: الخطوة ٥٣ +challengeType: 0 +dashedName: step-53 +--- + +# --description-- + +امنح العناصر `.formrow` الخصائص الآتية، top margin و padding left و right. قيم الـ padding الأخرى يجب أن تكون `0`. + +ثم قم بزيادة حجم الخط (font size) لجميع عناصر `input`. + +# --hints-- + +يجب عليك استخدام منتقي `.formrow` لاستهداف عناصر `.formrow`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('.formrow')); +``` + +يجب عليك إعطاء `.formrow` الـ `margin-top` بقيمة `1px` علي الاقل. + +```js +const val = new __helpers.CSSHelp(document).getStyle('.formrow')?.marginTop; +let valInPx = 0; +if (/^\d+rem$/.test(val)) { + valInPx = remToPx(Number(val.replace('rem', ''))); +} else if (/^\d+em$/.test(val)) { + valInPx = emToPx(Number(val.replace('em', ''))); +} else { + valInPx = Number(val?.replace('px', '')); +} +function emToPx(em) { + return em * parseFloat(getComputedStyle(document.querySelector('.formrow'))?.fontSize); +} +function remToPx(rem) { + return rem * parseFloat(getComputedStyle(document.documentElement)?.fontSize); +} +assert.isAtLeast(valInPx, 1); +``` + +يجب عليك إعطاء `.formrow` الـ `padding-top` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.formrow')?.paddingTop, '0px'); +``` + +يجب عليك إعطاء `.formrow` الـ `padding-right` بقيمة `1px` علي الاقل. + +```js +const val = new __helpers.CSSHelp(document).getStyle('.formrow')?.paddingRight; +let valInPx = 0; +if (/^\d+rem$/.test(val)) { + valInPx = remToPx(Number(val.replace('rem', ''))); +} else if (/^\d+em$/.test(val)) { + valInPx = emToPx(Number(val.replace('em', ''))); +} else { + valInPx = Number(val?.replace('px', '')); +} +function emToPx(em) { + return em * parseFloat(getComputedStyle(document.querySelector('.formrow'))?.fontSize); +} +function remToPx(rem) { + return rem * parseFloat(getComputedStyle(document.documentElement)?.fontSize); +} +assert.isAtLeast(valInPx, 1); +``` + +يجب عليك إعطاء `.formrow` الـ `padding-bottom` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.formrow')?.paddingBottom, '0px'); +``` + +يجب عليك إعطاء `.formrow` الـ `padding-left` بقيمة `1px` علي الاقل. + +```js +const val = new __helpers.CSSHelp(document).getStyle('.formrow')?.paddingLeft; +let valInPx = 0; +if (/^\d+rem$/.test(val)) { + valInPx = remToPx(Number(val.replace('rem', ''))); +} else if (/^\d+em$/.test(val)) { + valInPx = emToPx(Number(val.replace('em', ''))); +} else { + valInPx = Number(val?.replace('px', '')); +} +function emToPx(em) { + return em * parseFloat(getComputedStyle(document.querySelector('.formrow'))?.fontSize); +} +function remToPx(rem) { + return rem * parseFloat(getComputedStyle(document.documentElement)?.fontSize); +} +assert.isAtLeast(valInPx, 1); +``` + +يجب عليك استخدام منتقي `input` لاستهداف عناصر `input`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('input')); +``` + +يجب عليك إعطاء `input` الـ `font-size` بقيمة اكبر من `13px`. + +```js +const val = new __helpers.CSSHelp(document).getStyle('input')?.fontSize; +let valInPx = 0; +if (/^\d+rem$/.test(val)) { + valInPx = remToPx(Number(val.replace('rem', ''))); +} else if (/^\d+em$/.test(val)) { + valInPx = emToPx(Number(val.replace('em', ''))); +} else { + valInPx = Number(val?.replace('px', '')); +} +function emToPx(em) { + return em * parseFloat(getComputedStyle(document.querySelector('.formrow'))?.fontSize); +} +function remToPx(rem) { + return rem * parseFloat(getComputedStyle(document.documentElement)?.fontSize); +} +assert.isAtLeast(valInPx, 13); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61488ecfd05e290b5712e6da.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61488ecfd05e290b5712e6da.md new file mode 100644 index 00000000000..5ef51fba861 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61488ecfd05e290b5712e6da.md @@ -0,0 +1,286 @@ +--- +id: 61488ecfd05e290b5712e6da +title: الخطوة ٥٤ +challengeType: 0 +dashedName: step-54 +--- + +# --description-- + +لجعل القسم (section) الأول يبدو أكثر خطياً (inline)، استهدف فقط عناصر `input` داخل عناصر `.info`، و عيّن `width` إلى `50%` و قم بمحاذاة نصهم على اليسار ( left-align their text). + +# --hints-- + +يجب عليك استخدام منتقي `.info input` أو `.info > input`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +assert.exists(gs('.info input') || gs('.info > input')); +``` + +يجب عليك إعطاء `input` خاصية `width` بقيمة `50%`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s)?.width; +const width = gs('.info input') ?? gs('.info > input'); +assert.equal(width, '50%'); +``` + +يجب عليك إعطاء `input` خاصية `text-align` بقيمة `left`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s)?.textAlign; +const textAlign = gs('.info input') ?? gs('.info > input'); +assert.equal(textAlign, 'left'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148d99cdc7acd0c519862cb.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148d99cdc7acd0c519862cb.md new file mode 100644 index 00000000000..00b7de4f15a --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148d99cdc7acd0c519862cb.md @@ -0,0 +1,291 @@ +--- +id: 6148d99cdc7acd0c519862cb +title: الخطوة ٥٥ +challengeType: 0 +dashedName: step-55 +--- + +# --description-- + +استهدف جميع عناصر `label` داخل عناصر `.info`، وعيّن الـ `width` إلى `10%`, واجعله لا ياخذ أقل من `55px`. + +# --hints-- + +يجب عليك استخدام منتقي `.info label` أو `.info > label`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +assert.exists(gs('.info label') || gs('.info > label')); +``` + +يجب عليك إعطاء `label` الـ `width` بقيمة `10%`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s)?.width; +const width = gs('.info label') || gs('.info > label'); +assert.equal(width, '10%'); +``` + +يجب عليك إعطاء `label` الـ `min-width` بقيمة `55px`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s)?.minWidth; +const minWidth = gs('.info label') || gs('.info > label'); +assert.equal(minWidth, '55px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +--fcc-editable-region-- +.info input { + width: 50%; + text-align: left; +} + + +--fcc-editable-region-- + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148da157cc0bd0d06df5c0a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148da157cc0bd0d06df5c0a.md new file mode 100644 index 00000000000..d27d79bd8e9 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148da157cc0bd0d06df5c0a.md @@ -0,0 +1,298 @@ +--- +id: 6148da157cc0bd0d06df5c0a +title: الخطوة ٥٦ +challengeType: 0 +dashedName: step-56 +--- + +# --description-- + +لمحاذاة مربعات `input` مع بعضها البعض، قم بتعيين خاصية `display` إلى `inline-block` لجميع عناصر `input` و `label` داخل عناصر `.info`. + +أيضًا، بمحاذي (align) نص عنصر `label` إلى اليمين. + +# --hints-- + +يجب عليك استخدام منتقي `.info > label, .info > input` أو `.info label, .info input`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +assert.exists(gs('.info > label, .info > input') || gs('.info label, .info input') || gs('.info > input, .info > label') || gs('.info input, .info label')); +``` + +يجب عليك إعطاء عناصر `input` و `label` خاصية `display` بقيمة `inline-block`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s)?.display; +const display = gs('.info > label, .info > input') ?? gs('.info label, .info input') ?? gs('.info > input, .info > label') ?? gs('.info input, .info label'); +assert.equal(display, 'inline-block'); +``` + +يجب عليك إعطاء `label` خاصية `text-align` بقيمة `right`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s)?.textAlign; +const textAlign = gs('.info > label') ?? gs('.info label'); +assert.equal(textAlign, 'right'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +--fcc-editable-region-- + + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; +} +--fcc-editable-region-- + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dc095264000dce348bf5.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dc095264000dce348bf5.md new file mode 100644 index 00000000000..2cb5b906603 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dc095264000dce348bf5.md @@ -0,0 +1,323 @@ +--- +id: 6148dc095264000dce348bf5 +title: الخطوة ٥٧ +challengeType: 0 +dashedName: step-57 +--- + +# --description-- + +لرتيب عناصر `.question-block`، قم بتعيين خصائص CSS التالية: + +```css +text-align: left; +display: block; +width: 100%; +margin-top: 20px; +padding-top: 5px; +``` + +# --hints-- + +يجب عليك استخدام منتقي `.question-block` فقط. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('.question-block')); +``` + +يجب عليك إعطاء عنصر `.question-block` خاصية `display` بقيمة `block`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.question-block')?.display, 'block'); +``` + +يجب عليك إعطاء عنصر `.question-block` خاصية `width` بقيمة `100%`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.question-block')?.width, '100%'); +``` + +يجب عليك إعطاء عنصر `.question-block` خاصية `margin-top` بقيمة `20px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.question-block')?.marginTop, '20px'); +``` + +يجب عليك إعطاء عنصر `.question-block` خاصية `padding-top` بقيمة `5px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.question-block')?.paddingTop, '5px'); +``` + +يجب عليك إعطاء عنصر `.question-block` خاصية `text-align` بقيمة `left`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.question-block')?.textAlign, 'left'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dcaaf2e8750e6cb4501a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dcaaf2e8750e6cb4501a.md new file mode 100644 index 00000000000..4350d505678 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dcaaf2e8750e6cb4501a.md @@ -0,0 +1,316 @@ +--- +id: 6148dcaaf2e8750e6cb4501a +title: الخطوة ٥٨ +challengeType: 0 +dashedName: step-58 +--- + +# --description-- + +اجعل عناصر الفقرة النصية تظهر كأولوية أعلى، مع خصائص CSS التالية: + +```css +margin-top: 5px; +padding-left: 15px; +font-size: 20px; +``` + +# --hints-- + +يجب عليك استخدام منتقي العناصر `p`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('p')); +``` + +يجب عليك إعطاء عناصر `p` خاصية `margin-top` بقيمة `5px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('p')?.marginTop, '5px'); +``` + +يجب عليك إعطاء عناصر `p` خاصية `padding-left` بقيمة `15px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('p')?.paddingLeft, '15px'); +``` + +يجب عليك إعطاء عناصر `p` خاصية `font-size` بقيمة `20px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('p')?.fontSize, '20px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +p::before { + content: "Question #"; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dd31d210990f0fb140f8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dd31d210990f0fb140f8.md new file mode 100644 index 00000000000..5c20c9701b0 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dd31d210990f0fb140f8.md @@ -0,0 +1,312 @@ +--- +id: 6148dd31d210990f0fb140f8 +title: الخطوة ٥٩ +challengeType: 0 +dashedName: step-59 +--- + +# --description-- + +من المفيد رؤية الحدود الافتراضية حول عناصر `fieldset` أثناء التطوير. ومع ذلك، قد لا يكون هذا هو الأسلوب الذي تريده. + +قم بإزالة border و bottom padding من عناصر `.question`. + +# --hints-- + +يجب عليك استخدام منتقي `.question`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('.question')); +``` + +يجب أن تعطي `.question` خاصية `border` بقيمة `none`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.question')?.borderStyle, 'none'); +``` + +يجب عليك إعطاء `.question` خاصية `padding-bottom` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.question')?.paddingBottom, '0px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148defa9c01520fb9d178a0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148defa9c01520fb9d178a0.md new file mode 100644 index 00000000000..bafe4b8248e --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148defa9c01520fb9d178a0.md @@ -0,0 +1,315 @@ +--- +id: 6148defa9c01520fb9d178a0 +title: الخطوة ٦٠ +challengeType: 0 +dashedName: step-60 +--- + +# --description-- + +قم بإزالة الأسلوب الافتراضي لعناصر القائمة `.answers-list`، وأزال padding من القائمة الغير منظمة (unordered list). + +# --hints-- + +يجب عليك استخدام منتقي `.answers-list`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('.answers-list')); +``` + +يجب أن تعطي `.answers-list` خاصية `list-style` بقيمة `none`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.answers-list')?.listStyle, 'none'); +``` + +يجب أن تعطي `.answers-list` خاصية `padding` بقيمة `0`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('.answers-list')?.padding, '0px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +.question { + border: none; + padding-bottom: 0; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dfab9b54c110577de165.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dfab9b54c110577de165.md new file mode 100644 index 00000000000..af4509458d7 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dfab9b54c110577de165.md @@ -0,0 +1,360 @@ +--- +id: 6148dfab9b54c110577de165 +title: الخطوة ٦١ +challengeType: 0 +dashedName: step-61 +--- + +# --description-- + +اعطي زر الـ submit تصميم على غرار رمز freeCodeCamp مع خصائص CSS التالية: + +```css +display: block; +margin: 40px auto; +width: 40%; +padding: 15px; +font-size: 23px; +background: #d0d0d5; +border: 3px solid #3b3b4f; +``` + +# --hints-- + +يجب عليك استخدام منتقي العنصر `button`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('button')); +``` + +يجب عليك إعطاء `button` الـ `display` بقيمة `block`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.display, 'block'); +``` + +يجب عليك إعطاء `button` الـ `margin` بقيمة `40px auto`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.margin, '40px auto'); +``` + +يجب عليك إعطاء `button` الـ `width` بقيمة `40%`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.width, '40%'); +``` + +يجب عليك إعطاء `button` الـ `padding` بقيمة `15px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.padding, '15px'); +``` + +يجب عليك إعطاء `button` الـ `font-size` بقيمة `23px`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.fontSize, '23px'); +``` + +يجب عليك إعطاء `button` الـ `background` بقيمة `#d0d0d5`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.backgroundColor, 'rgb(208, 208, 213)'); +``` + +يجب عليك إعطاء `button` الـ `border` بقيمة `3px solid #3b3b4f`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.border, '3px solid rgb(59, 59, 79)'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +.question { + border: none; + padding-bottom: 0; +} + +.answers-list { + list-style: none; + padding: 0; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e0bcc13efd10f7d7a6a9.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e0bcc13efd10f7d7a6a9.md new file mode 100644 index 00000000000..38c2e73467c --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e0bcc13efd10f7d7a6a9.md @@ -0,0 +1,336 @@ +--- +id: 6148e0bcc13efd10f7d7a6a9 +title: الخطوة ٦٢ +challengeType: 0 +dashedName: step-62 +--- + +# --description-- + +قم بتعيين لون الخلفية (background color) ألى `footer` بقيمة `#2a2a40`, واستخدم _Flexbox_ لتركيز النص أفقيا. + +# --hints-- + +يجب عليك استخدام منتقي العنصر `footer`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('footer')); +``` + +يجب عليك إعطاء `footer` خاصية `background-color` بقيمة `#2a2a40`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('footer')?.backgroundColor, 'rgb(42, 42, 64)'); +``` + +يجب عليك إعطاء `footer` خاصية `display` بقيمة `flex`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('footer')?.display, 'flex'); +``` + +يجب عليك إعطاء `footer` خاصية `justify-content` بقيمة `center`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('footer')?.justifyContent, 'center'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +.question { + border: none; + padding-bottom: 0; +} + +.answers-list { + list-style: none; + padding: 0; +} + +button { + display: block; + margin: 40px auto; + width: 40%; + padding: 15px; + font-size: 23px; + background: #d0d0d5; + border: 3px solid #3b3b4f; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e161ecec9511941f8833.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e161ecec9511941f8833.md new file mode 100644 index 00000000000..5e5e1f6263d --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e161ecec9511941f8833.md @@ -0,0 +1,356 @@ +--- +id: 6148e161ecec9511941f8833 +title: الخطوة ٦٣ +challengeType: 0 +dashedName: step-63 +--- + +# --description-- + +والآن، لا يمكننا قراءة النص. استهدف `footer` وعنصر الرابط بالداخل لتعيين لون الخط (font color) إلى لون بنسبة تباين (contrast ratio) مناسبة. + +# --hints-- + +يجب عليك استخدام منتقي `footer, footer a`. + +```js +const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); +assert.exists(gs('footer, footer a') || gs('footer a, footer')); +``` + +يجب عليك تعيين `color` إلى قيمة مع نسبة تباين لا تقل عن `7:1`. _تلميح: أقترح `#dfdfe2`_ + +```js +function luminance(r, g, b) { + const a = [r, g, b].map((v) => { + v /= 255; + return v <= 0.03928 ? v / 12.92 : Math.pow( (v + 0.055) / 1.055, 2.4 ); + }); + return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722; +} +function contrast(rgb1, rgb2) { + const lum1 = luminance(rgb1[0], rgb1[1], rgb1[2]); + const lum2 = luminance(rgb2[0], rgb2[1], rgb2[2]); + const brightest = Math.max(lum1, lum2); + const darkest = Math.min(lum1, lum2); + return (brightest + 0.05) + / (darkest + 0.05); +} +const backgroundColour = [42, 42, 64]; + +const foot = getComputedStyle(document.querySelector('footer'))?.color; +const a = getComputedStyle(document.querySelector('footer a'))?.color; + +const rgbFoot = foot?.match(/(\d+),\s(\d+),\s(\d+)/); +const rgbA = a?.match(/(\d+),\s(\d+),\s(\d+)/); +const footColour = [rgbFoot[1], rgbFoot[2], rgbFoot[3]]; +const aColour = [rgbA[1], rgbA[2], rgbA[3]]; +assert.isAtLeast(contrast(backgroundColour, footColour), 7); +assert.isAtLeast(contrast(backgroundColour, aColour), 7); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +.question { + border: none; + padding-bottom: 0; +} + +.answers-list { + list-style: none; + padding: 0; +} + +button { + display: block; + margin: 40px auto; + width: 40%; + padding: 15px; + font-size: 23px; + background: #d0d0d5; + border: 3px solid #3b3b4f; +} + +footer { + background-color: #2a2a40; + display: flex; + justify-content: center; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e28706b34912340fd042.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e28706b34912340fd042.md new file mode 100644 index 00000000000..456643e9c56 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e28706b34912340fd042.md @@ -0,0 +1,359 @@ +--- +id: 6148e28706b34912340fd042 +title: الخطوة ٦٤ +challengeType: 0 +dashedName: step-64 +--- + +# --description-- + +قم بتوسيط كل النص أفقيًا داخل عنصر `address`، وإضافة بعض من padding. + +# --hints-- + +يجب عليك استخدام منتقي العناصر `address`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('address')); +``` + +يجب عليك إعطاء `address` خاصية `text-align` بقيمة `center`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('address')?.textAlign, 'center'); +``` + +يجب عليك إعطاء `address` خاصية `padding-top` بقيمة `1px`. + +```js +assert.isAtLeast(Number(window.getComputedStyle(document.querySelector('address'), null)?.getPropertyValue('padding-top')?.replace(/\D\D+/, '')), 1); +``` + +يجب عليك إعطاء `address` خاصية `padding-right` بقيمة `1px`. + +```js +assert.isAtLeast(Number(window.getComputedStyle(document.querySelector('address'), null)?.getPropertyValue('padding-right')?.replace(/\D\D+/, '')), 1); +``` + +يجب عليك إعطاء `address` خاصية `padding-bottom` بقيمة `1px`. + +```js +assert.isAtLeast(Number(window.getComputedStyle(document.querySelector('address'), null)?.getPropertyValue('padding-bottom')?.replace(/\D\D+/, '')), 1); +``` + +يجب عليك إعطاء `address` خاصية `padding-left` بقيمة `1px`. + +```js +assert.isAtLeast(Number(window.getComputedStyle(document.querySelector('address'), null)?.getPropertyValue('padding-left')?.replace(/\D\D+/, '')), 1); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +.question { + border: none; + padding-bottom: 0; +} + +.answers-list { + list-style: none; + padding: 0; +} + +button { + display: block; + margin: 40px auto; + width: 40%; + padding: 15px; + font-size: 23px; + background: #d0d0d5; + border: 3px solid #3b3b4f; +} + +footer { + background-color: #2a2a40; + display: flex; + justify-content: center; +} + +footer, +footer a { + color: #dfdfe2; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e335c1edd512d00e4691.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e335c1edd512d00e4691.md new file mode 100644 index 00000000000..f4dc726735c --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e335c1edd512d00e4691.md @@ -0,0 +1,342 @@ +--- +id: 6148e335c1edd512d00e4691 +title: الخطوة ٦٥ +challengeType: 0 +dashedName: step-65 +--- + +# --description-- + +بالنقر على روابط التنقل (navigation links) يجب أن يقفز نافذة العرض (viewport) إلى القسم ذي الصلة بالرابط. ومع ذلك، يمكن أن يكون هذا القفز مربكًا لبعض المستخدمين. + +حدد جميع العناصر، وعيّن `scroll-behavior` ألى `smooth`. + +# --hints-- + +يجب عليك استخدام منتقي `*`. + +```js +assert.exists(new __helpers.CSSHelp(document).getStyle('*')); +``` + +يجب عليك إعطاء `*` خاصية `scroll-behavior` بقيمة `smooth`. + +```js +assert.equal(new __helpers.CSSHelp(document).getStyle('*')?.scrollBehavior, 'smooth'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +--fcc-editable-region-- + +--fcc-editable-region-- + +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +.question { + border: none; + padding-bottom: 0; +} + +.answers-list { + list-style: none; + padding: 0; +} + +button { + display: block; + margin: 40px auto; + width: 40%; + padding: 15px; + font-size: 23px; + background: #d0d0d5; + border: 3px solid #3b3b4f; +} + +footer { + background-color: #2a2a40; + display: flex; + justify-content: center; +} + +footer, +footer a { + color: #dfdfe2; +} + +address { + text-align: center; + padding: 0.3em; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e41c728f65138addf9cc.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e41c728f65138addf9cc.md new file mode 100644 index 00000000000..ec1dc0ec468 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e41c728f65138addf9cc.md @@ -0,0 +1,360 @@ +--- +id: 6148e41c728f65138addf9cc +title: الخطوة ٦٦ +challengeType: 0 +dashedName: step-66 +--- + +# --description-- + +أنواع معينة من الرسوم المتحركة ممكن أن تسبب إزعاجاً لبعض المستخدمين. على وجه الخصوص، الأشخاص الذين يعانون ألتهاب عصب الدهليزي لديهم حساسية لمشغلات حركة معينة. + +يحتوي `@media` على مِيزة وسائط تسمى `prefers-reduced-motion` لتعيين CSS على أساس تفضيلات المستخدم. ويمكن أن تأخذ إحدى القيم التالية: + +- `reduce` +- `no-preference` + +```CSS +@media (feature: value) { + selector { + styles + } +} +``` + +--- + +اغلق قاعدة النمط الذي تحدد `scroll-behavior: smooth` بداخل `@media` على قاعدة مع مِيزة الوسائط `prefers-reduced-motion` مع `no-preference` تعيين القيمة. + +# --hints-- + +يجب أن يكون لديك قاعدة `@media (prefers-reduced-motion: no-preference)` واحده. + +```js +assert.equal(new __helpers.CSSHelp(document).getRuleListsWithinMedia('(prefers-reduced-motion: no-preference)').length, 1); +``` + +يجب أن تدخل قاعدة `*` الحالية ضمن قاعدة `@media`. + +```js +assert.equal(new __helpers.CSSHelp(document).getRuleListsWithinMedia('(prefers-reduced-motion: no-preference)')?.find(x => x.selectorText === '*')?.style?.scrollBehavior, 'smooth'); +assert.notExists(new __helpers.CSSHelp(document).getStyle('*')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +--fcc-editable-region-- +* { + scroll-behavior: smooth; +} +--fcc-editable-region-- + +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +.question { + border: none; + padding-bottom: 0; +} + +.answers-list { + list-style: none; + padding: 0; +} + +button { + display: block; + margin: 40px auto; + width: 40%; + padding: 15px; + font-size: 23px; + background: #d0d0d5; + border: 3px solid #3b3b4f; +} + +footer { + background-color: #2a2a40; + display: flex; + justify-content: center; +} + +footer, +footer a { + color: #dfdfe2; +} + +address { + text-align: center; + padding: 0.3em; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e5aeb102e3142de026a2.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e5aeb102e3142de026a2.md new file mode 100644 index 00000000000..acbfa392fd1 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e5aeb102e3142de026a2.md @@ -0,0 +1,685 @@ +--- +id: 6148e5aeb102e3142de026a2 +title: الخطوة ٦٧ +challengeType: 0 +dashedName: step-67 +--- + +# --description-- + +أخيرًا ، يمكن تحسين إمكانية استيعاب التنقل (navigation accessibility) عن طريق توفير اختصارات لوحة المفاتيح. + +السمة `accesskey` تقبل قائمة مفصولة بمسافة من مفاتيح الوصول (access keys). على سبيل المثال: + +```html + +``` + +قم بإعطاء كل رابط من روابط التنقل مفتاح وصول من حرف واحد. + +_ملاحظة: لا ينصح دائما باستخدام مفاتيح الوصول، ولكن يمكن أن تكون مفيدة_ + +أحسنت صنعا. لقد أكملت مشروع تدريب _اختبار إمكانية الوصول_. + +# --hints-- + +يجب أن تعطي عنصر `a` الأول `accesskey` من حرف واحد. + +```js +assert.equal(document.querySelectorAll('a')?.[0]?.getAttribute('accesskey')?.length, 1); +``` + +يجب أن تعطي عنصر `a` الثاني `accesskey` من حرف واحد. + +```js +assert.equal(document.querySelectorAll('a')?.[1]?.getAttribute('accesskey')?.length, 1); +``` + +يجب أن تعطي عنصر `a` الثالث `accesskey` من حرف واحد. + +```js +assert.equal(document.querySelectorAll('a')?.[2]?.getAttribute('accesskey')?.length, 1); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + + Accessibility Quiz + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +@media (prefers-reduced-motion: no-preference) { + * { + scroll-behavior: smooth; + } +} + +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + background-color: #1b1b32; + display: flex; + justify-content: space-between; + align-items: center; + position: fixed; + top: 0; +} + +#logo { + width: max(100px, 18vw); + background-color: #0a0a23; + aspect-ratio: 35 / 4; + padding: 0.4rem; +} + +h1 { + color: #f1be32; + font-size: min(5vw, 1.2em); + text-align: center; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + justify-content: space-evenly; + flex-wrap: wrap; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + color: #dfdfe2; + margin: 0 0.2rem; + padding: 0.2rem; + display: block; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0 auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + +.info { + padding: 10px 0 0 5px; +} + +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, .info input { + display: inline-block; +} + +.info input { + width: 50%; + text-align: left; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +.question { + border: none; + padding-bottom: 0; +} + +.answers-list { + list-style: none; + padding: 0; +} + +button { + display: block; + margin: 40px auto; + width: 40%; + padding: 15px; + font-size: 23px; + background: #d0d0d5; + border: 3px solid #3b3b4f; +} + +footer { + background-color: #2a2a40; + display: flex; + justify-content: center; +} + +footer, +footer a { + color: #dfdfe2; +} + +address { + text-align: center; + padding: 0.3em; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` + +## --solutions-- + +```html + + + + + + + + Accessibility Quiz + + + + +
+ +

HTML/CSS Quiz

+ +
+
+
+
+

Student Info

+ +
+ + +
+
+ + +
+
+ + +
+
+
+

HTML

+
+

1

+
+ + The legend element represents a caption for the content of its + parent fieldset element + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+

2

+
+ + A label element nesting an input element is required to have a + for attribute with the same value as the input's id + +
    +
  • + +
  • +
  • + +
  • +
+
+
+
+
+

CSS

+
+
+ +
+
+ +
+
+ +
+
+ +
+
+
+ +
+
+ + + + +``` + +```css +@media (prefers-reduced-motion: no-preference) { + * { + scroll-behavior: smooth; + } +} + +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} + +header { + width: 100%; + height: 50px; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + position: fixed; + background-color: #1b1b32; + top: 0; +} + +#logo { + width: max(100px, 18vw); + aspect-ratio: 35 / 4; + max-height: 100%; + background-color: #0a0a23; + padding: 0.4rem; +} + +h1 { + text-align: center; + font-size: min(5vw, 1.2em); + color: #f1be32; +} + +nav { + width: 50%; + max-width: 300px; + height: 50px; +} + +nav > ul { + display: flex; + flex-wrap: wrap; + justify-content: space-evenly; + align-items: center; + padding-inline-start: 0; + margin-block: 0; + height: 100%; +} + +nav > ul > li { + display: block; + margin: 0 0.2rem; + color: #dfdfe2; + padding: 0.2rem; +} + +nav > ul > li:hover { + background-color: #dfdfe2; + color: #1b1b32; + cursor: pointer; +} + +li > a { + color: inherit; + text-decoration: none; +} + +main { + padding-top: 50px; +} + +section { + width: 80%; + margin: 0px auto 10px auto; + max-width: 600px; +} + +h1, +h2 { + font-family: Verdana, Tahoma; +} + +h2 { + border-bottom: 4px solid #dfdfe2; + margin-top: 0px; + padding-top: 60px; +} + + +.info { + margin: 0 auto; + padding: 10px 0 0 5px; +} +.formrow { + margin-top: 30px; + padding: 0px 15px; +} + +input { + font-size: 16px; +} + +.info label, +.info input { + display: inline-block; +} + +.info label { + width: 10%; + min-width: 55px; + text-align: right; +} + +.info input { + width: 50%; + text-align: left; +} + +.question-block { + text-align: left; + display: block; + width: 100%; + margin-top: 20px; + padding-top: 5px; +} + +p { + margin-top: 5px; + padding-left: 15px; + font-size: 20px; +} + +p::before { + content: "Question #"; +} + +.question { + border: none; + padding-bottom: 0; +} + +.answers-list { + list-style: none; + padding: 0; +} + +button { + display: block; + margin: 40px auto; + width: 40%; + padding: 15px; + font-size: 23px; + background: #d0d0d5; + border: 3px solid #3b3b4f; +} + +footer { + background-color: #2a2a40; + display: flex; + justify-content: center; +} + +footer, +footer a { + color: #dfdfe2; +} + +address { + text-align: center; + padding: 0.3em; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md new file mode 100644 index 00000000000..d52293c1972 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md @@ -0,0 +1,50 @@ +--- +id: 614ccc21ea91ef1736b9b578 +title: الخطوة الأولى +challengeType: 0 +dashedName: step-1 +--- + +# --description-- + +مرحبا بكم في الجزء الأول من اختبار إمكانية الوصول (Accessibility Quiz). بما انك تسعي أن تكون متمرسًا في HTML و CSS، فقد بدأنا باستخدام النموذج الأساسي. + +ابدأ رحلة الوصول هذه، عن طريق توفير سمة (attribute) تسمي `lang` إلى `html` الخاص بك. هذا سيساعد قارئ الشاشة (screen readers) على تحديد لغة الصفحة. + +# --hints-- + +يجب أن تعطي عنصر `html` سمة `lang`. _تلميح: يمكنك استخدام القيمة `en` للغة الانجليزية_ + +```js +assert.match(code, //i); +// TODO: This should/could be fixed in the builder.js +// assert.notThrow(Intl.getCanonicalLocales(document.querySelector('html').lang)); +``` + +# --seed-- + +## --seed-contents-- + +```html + +--fcc-editable-region-- + + + + + + + + +--fcc-editable-region-- + +``` + +```css +body { + background: #f5f6f7; + color: #1b1b32; + font-family: Helvetica; + margin: 0; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33071498eb2472b87ddee4.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33071498eb2472b87ddee4.md new file mode 100644 index 00000000000..e39691a5964 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33071498eb2472b87ddee4.md @@ -0,0 +1,43 @@ +--- +id: 5f33071498eb2472b87ddee4 +title: الخطوة الأولى +challengeType: 0 +dashedName: step-1 +--- + +# --description-- + +كما تعلمت في الخطوات القليلة الأخيرة من Cat App Photo، هناك بنية أساسية مطلوبة لبدء بناء صفحة الويب الخاصة بك. + +قك بإضافة الـ tag الآتي ``، وعنصر `html` مع سمة `lang` بقيمة `en`. + +# --hints-- + +يجب أن يكون لديك تعريف `DOCTYPE`. + +```js +assert(code.match(//i)); +``` + +يجب أن يكون لديك علامة `` فتح مع سمة `lang` بقيمة `en`. + +```js +assert(code.match(//gi)); +``` + +يجب أن يكون لديك علامة إغلاق الآتي ``. تذكر أن علامات الإغلاق (closing tags) تحتوي على `/` بعد فتح `<` القوس. + +```js +assert(code.match(/<\/html>/i)); +``` + +# --seed-- + +## --seed-contents-- + +```html +--fcc-editable-region-- + +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3313e74582ad9d063e3a38.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3313e74582ad9d063e3a38.md new file mode 100644 index 00000000000..a194a04a9b2 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3313e74582ad9d063e3a38.md @@ -0,0 +1,61 @@ +--- +id: 5f3313e74582ad9d063e3a38 +title: الخطوة الثانية +challengeType: 0 +dashedName: step-2 +--- + +# --description-- + +أضف عنصر `head` ضمن عنصر `html`، حتى تتمكن من إضافة عنصر `title`. نص عنصر `title` يجب أن يكون `Cafe Menu`. + +# --hints-- + +يجب أن يكون لديك العلامة المفتوحة (opening tag) الآتية ``. + +```js +assert(code.match(//i)); +``` + +يجب أن يكون لديك العلامة المغلقة (closing tag) الآتية ``. + +```js +assert(code.match(//i)); +``` + +يجب أن يكون لديك العلامة المفتوحة (opening tag) الآتية ``. + +```js +assert(code.match(/<title>/i)); +``` + +يجب أن يكون لديك العلامة المغلقة (closing tag) الآتي ``. + +```js +assert(code.match(/<\/title>/i)); +``` + +عنصر `title` الخاص بك يجب أن يكون داخل عنصر `head` الخاص بك. + +```js +assert(code.match(/\s*.*<\/title>\s*<\/head>/si)); +``` + +يجب أن يحتوي العنصر `title` على النص `Cafe Menu`. قد تحتاج إلى التحقق من الإملاء. + +```js +assert.match(document.querySelector('title')?.innerText, /Cafe Menu/i); +``` + +# --seed-- + +## --seed-contents-- + +```html +<!DOCTYPE html> +<html lang="en"> +--fcc-editable-region-- + +--fcc-editable-region-- +</html> +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f331e55dfab7a896e53c3a1.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f331e55dfab7a896e53c3a1.md new file mode 100644 index 00000000000..92012abe625 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f331e55dfab7a896e53c3a1.md @@ -0,0 +1,47 @@ +--- +id: 5f331e55dfab7a896e53c3a1 +title: الخطوة ٣ +challengeType: 0 +dashedName: step-3 +--- + +# --description-- + +يكون `title` واحد من عدة عناصر توفر معلومات إضافية غير مرئية على صفحة الويب، لكنه مفيد لمحركات البحث أو كيف يتم عرض الصفحة. + +داخل عنصر `head`، قم بدمج عنصر `meta` مع سمة تسمى `charset` و تعيين قيمتها إلي `utf-8` لإخبار المتصفح كيفية ترميز الأحرف للصفحة. لاحظ أن عناصر `meta` مغلقة ذاتيا (self closing). + +# --hints-- + +يجب أن يكون لديك وسم `meta`. + +```js +assert(code.match(/<meta.*?\/?>/is)); +``` + +يجب أن يحتوي وسم `meta` الخاص بك علي سمة `charset`. + +```js +assert(code.match(/<meta charset=/i)); +``` + +يجب أن تحتوي سمة `charset` الخاصة بك على القيمة `utf-8`. + +```js +assert(code.match(/charset=('|")utf-8\1/i)); +``` + +# --seed-- + +## --seed-contents-- + +```html +<!DOCTYPE html> +<html lang="en"> +--fcc-editable-region-- + <head> + <title>Cafe Menu + +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3326b143638ee1a09ff1e3.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3326b143638ee1a09ff1e3.md new file mode 100644 index 00000000000..03128c54368 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3326b143638ee1a09ff1e3.md @@ -0,0 +1,54 @@ +--- +id: 5f3326b143638ee1a09ff1e3 +title: الخطوة ٤ +challengeType: 0 +dashedName: step-4 +--- + +# --description-- + +للتحضير لإنشاء بعض المحتوى الفعلي، أضف عنصر `body` أسفل عنصر `head`. + +# --hints-- + +يجب أن يكون لديك العلامة المفتوحة (opening tag) الآتية ``. + +```js +assert(code.match(//i)); +``` + +يجب أن يكون لديك العلامة المغلقة (closing tag) الآتي ``. + +```js +assert(code.match(/<\/body>/i)); +``` + +لا يجب عليك تغيير عنصر `head`. تأكد من أنك لم تقم بحذف علامة الإغلاق الخاصة بك. + +```js +assert(code.match(//i)); +assert(code.match(/<\/head>/i)); +``` + +عنصر `body` الخاص بك يجب أن يأتي بعد عنصر `head` الخاص بك. + +```js +assert(code.match(/<\/head>[.\n\s]*/im)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + Cafe Menu + +--fcc-editable-region-- + +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33294a6af5e9188dbdb8f3.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33294a6af5e9188dbdb8f3.md new file mode 100644 index 00000000000..6d77aa629e8 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f33294a6af5e9188dbdb8f3.md @@ -0,0 +1,55 @@ +--- +id: 5f33294a6af5e9188dbdb8f3 +title: الخطوة ٥ +challengeType: 0 +dashedName: step-5 +--- + +# --description-- + +حان الوقت لإضافة محتوى للقائمة. أضف عنصر `main` داخل عنصر `body` الحالي. سيحتوي في النهاية على معلومات تسعير حول القهوة والحلويات التي يقدمها المقهى. + +# --hints-- + +يجب أن يكون لديك العلامة الأفتاح (opening tag) الآتية `
`. + +```js +assert(code.match(/
/i)); +``` + +يجب أن يكون لديك العلامة الإغلاق (closing tag) الآتي `
`. + +```js +assert(code.match(/<\/main>/i)); +``` + +لا يجب عليك تغيير عنصر `body`. تيقن من عدم حذف علامتك إغلاق (closing tag) عن طريق الخطأ. + +```js +assert($('body').length === 1); +``` + +يجب أن يأتي وسمك `main` داخل وسمك `body`. + +```js +const main = document.querySelector('main'); +assert(main.parentElement.tagName === 'BODY'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + Cafe Menu + +--fcc-editable-region-- + + +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332a88dc25a0fd25c7687a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332a88dc25a0fd25c7687a.md new file mode 100644 index 00000000000..db52a4e1baa --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332a88dc25a0fd25c7687a.md @@ -0,0 +1,63 @@ +--- +id: 5f332a88dc25a0fd25c7687a +title: الخطوة ٦ +challengeType: 0 +dashedName: step-6 +--- + +# --description-- + +اسم المقهى هو `CAMPER CAFE`. أضف عنصر `h1` داخل عنصر `main`. أعطيه اسم المقهى بأحرف كبيرة (capitalized) لجعله بارزا. + +# --hints-- + +يجب أن يكون لديك العلامة الأفتاح (opening tag) الآتية `

`. + +```js +assert(code.match(/

/i)); +``` + +يجب أن يكون لديك العلامة الإغلاق (closing tag) الآتي `

`. + +```js +assert(code.match(/<\/h1>/i)); +``` + +لا يجب عليك تغيير عنصر `main` الحالي. + +```js +assert($('main').length === 1); +``` + +يجب أن يكون عنصرك `h1` داخل عنصرك `main`. + +```js +assert($('h1')[0].parentElement.tagName === "MAIN"); +``` + +يجب أن يحتوي العنصر `h1` على النص `CAMPER CAFE`. + +```js +assert(code.match(/

CAMPER CAFE<\/h1>/)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + Cafe Menu + + +--fcc-editable-region-- +
+
+--fcc-editable-region-- + + +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332b23c2045fb843337579.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332b23c2045fb843337579.md new file mode 100644 index 00000000000..15b22a67573 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332b23c2045fb843337579.md @@ -0,0 +1,64 @@ +--- +id: 5f332b23c2045fb843337579 +title: الخطوة ٧ +challengeType: 0 +dashedName: step-7 +--- + +# --description-- + +لتمكين الزوار من معرفة أن المقهى قد تأسس في عام 2020، قم بإضافة عنصر `p` أسفل عنصر `h1` مع النص `Est. 2020`. + +# --hints-- + +يجب أن يكون لديك العلامة الأفتاح (opening tag) الآتية `

`. + +```js +assert(code.match(/

/i)); +``` + +يجب أن يكون لديك العلامة الإغلاق (closing tag) الآتي `

`. + +```js +assert(code.match(/<\/p>/i)); +``` + +لا يجب عليك تغيير عنصر `h1` الحالي. تيقن من أنك لم تقم بحذف علامة الإغلاق (closing tag). + +```js +assert($('h1').length === 1); +``` + +يجب أن يكون عنصرك `p` تحت عنصرك `h1`. + +```js +assert($('p')[0].previousElementSibling.tagName === 'H1'); +``` + +يجب أن يحتوي عنصرك `p` على النص `Est. 2020`. + +```js +assert(document.querySelector("p").innerText === "Est. 2020"); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + Cafe Menu + + +
+--fcc-editable-region-- +

CAMPER CAFE

+--fcc-editable-region-- +
+ + +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344f9c805cd193c33d829c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344f9c805cd193c33d829c.md new file mode 100644 index 00000000000..1dcb5d9686e --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344f9c805cd193c33d829c.md @@ -0,0 +1,69 @@ +--- +id: 5f344f9c805cd193c33d829c +title: الخطوة 11 +challengeType: 0 +dashedName: step-11 +--- + +# --description-- + +يمكنك إضافة أسلوب (style) إلى عنصر ما عن طريق تحديده في عنصر `style` ووضع خاصية له مثل: + +```css +element { + property: value; +} +``` + +قم بتوسيط عنصر `h1` الخاص بك عن طريق تعيين خاصية `text-align` الخاصة به إلى القيمة `center`. + +# --hints-- + +يجب أن يكون لديك منتقي `h1` في عنصر `style` الخاص بك. + +```js +const hasSelector = new __helpers.CSSHelp(document).getStyle('h1'); +assert(hasSelector); +``` + +يجب أن تكون خاصية `text-align` الخاصة بك بقيمة `center`. + +```js +const hasTextAlign = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['text-align'] === 'center'); +assert(hasTextAlign); +``` + +يجب أن يقوم منتقي `h1` الخاص بك بتعيين خاصية `text-align` إلى `center`. + +```js +const h1TextAlign = new __helpers.CSSHelp(document).getStyle('h1')?.getPropertyValue('text-align'); +assert(h1TextAlign === 'center'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + Cafe Menu +--fcc-editable-region-- + +--fcc-editable-region-- + + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ + +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md new file mode 100644 index 00000000000..d2614f365ad --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md @@ -0,0 +1,55 @@ +--- +id: 5f344fad8bf01691e71a30eb +title: الخطوة 10 +challengeType: 0 +dashedName: step-10 +--- + +# --description-- + +حتى الآن، كنت مقيدًا فيما يتعلق بالعرض التقديمي وشكل المحتوى الذي تقوم بإنشائه. لبدء التحكم، أضف عنصر `style` داخل العنصر `head`. + +# --hints-- + +يجب أن يكون لديك الـ opening tag الآتي ``. + +```js +assert(code.match(/<\/style\s*>/)); +``` + +عنصر `style` الخاص بك يجب أن يكون داخل عنصر `head` الخاص بك. + +```js +assert(code.match(/[\w\W\s]*[\w\W\s]*<\/style\s*>[\w\W\s]*<\/head\s*>/i)) +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + Cafe Menu + + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fbc22624a2976425065.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fbc22624a2976425065.md new file mode 100644 index 00000000000..f86073da826 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fbc22624a2976425065.md @@ -0,0 +1,68 @@ +--- +id: 5f344fbc22624a2976425065 +title: الخطوة 9 +challengeType: 0 +dashedName: step-9 +--- + +# --description-- + +قم بإنشاء عنصر `h2` في عنصر `section` وقم بإعطائه النص `Coffee`. + +# --hints-- + +يجب أن يكون لديك العلامة المفتوحة (opening tag) الآتية `

`. + +```js +assert(code.match(//i)); +``` + +يجب أن يكون لديك العلامة المغلقة (closing tag) الآتي `

`. + +```js +assert(code.match(/<\/h2\s*>/i)); +``` + +لا يجب عليك تغيير عنصر `section` الحالي. تأكد من أنك لم تقم بحذف علامة الإغلاق (closing tag). + +```js +assert($('section').length === 1); +``` + +عنصر `h2` الخاص بك يجب أن يكون داخل عنصر `section` الخاص بك. + +```js +const h2 = document.querySelector('h2'); +assert(h2.parentElement.tagName === 'SECTION'); +``` + +يجب أن يحتوي عنصر `h2` الخاص بك على النص `Coffee`. + +```js +const h2 = document.querySelector('h2'); +assert(h2.innerText === 'Coffee'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + Cafe Menu + + +
+

CAMPER CAFE

+

Est. 2020

+--fcc-editable-region-- +
+
+--fcc-editable-region-- +
+ + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fc1520b6719f2e35605.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fc1520b6719f2e35605.md new file mode 100644 index 00000000000..f4471b07baf --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fc1520b6719f2e35605.md @@ -0,0 +1,60 @@ +--- +id: 5f344fc1520b6719f2e35605 +title: الخطوة 8 +challengeType: 0 +dashedName: step-8 +--- + +# --description-- + +سيكون هناك قسمان (sections) في القائمة، قسم للقهوة (coffees) وآخر للحلويات (desserts). أضف عنصر `section` ضمن عنصر `main` حتى يكون لديك مكان لوضع جميع القهوة المتاحة. + +# --hints-- + +يجب أن يكون لديك العلامة المفتوحة (opening tag) الآتية `
`. + +```js +assert(code.match(//i)); +``` + +يجب أن يكون لديك العلامة المغلقة (closing tag) الآتي `
`. + +```js +assert(code.match(/<\/section\s*>/i)); +``` + +لا يجب عليك تغيير عنصر `main` الحالي. تأكد من أنك لم تقم بحذف علامة الإغلاق (closing tag). + +```js +assert($('main').length === 1); +``` + +عنصر `section` الخاص بك يجب أن يكون ضمن عنصر `main` الخاص بك. + +```js +const main = document.querySelector('main'); +const section = document.querySelector('section'); +assert(section.parentElement === main); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + Cafe Menu + + +--fcc-editable-region-- +
+

CAMPER CAFE

+

Est. 2020

+
+--fcc-editable-region-- + + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae34c1239cafe128be.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae34c1239cafe128be.md new file mode 100644 index 00000000000..344d749bd69 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae34c1239cafe128be.md @@ -0,0 +1,71 @@ +--- +id: 5f3477ae34c1239cafe128be +title: الخطوة 13 +challengeType: 0 +dashedName: step-13 +--- + +# --description-- + +لديك الآن ثلاثة type selectors بنفس النمط بالضبط. يمكنك إضافة نفس المجموعة من الأنماط إلى العديد من العناصر عن طريق إنشاء قائمة من الـ selectors. يتم فصل كل selector بفواصل مثل هذا: + +```css +selector1, selector2 { + property: value; +} +``` + +احذف الـ type selectors الثلاثة الموجودة واستبدلها بـ selector list واحدة تقوم بتركيز النصوص لعناصر `h1` و `h2` و `p`. + +# --hints-- + +يجب عليك استخدام type selector واحد لكل العناصر الثلاثة، `h1, h2, p`. تأكد من استخدام هذا الترتيب. + +```js +const hasSelector = new __helpers.CSSHelp(document).getStyle('h1, h2, p'); +assert(hasSelector); +``` + +يجب أن يكون لديك منتقي (selector) واحد فقط في عنصر `style` الخاص بك. + +```js +const selectors = new __helpers.CSSHelp(document).getCSSRules().filter(x => x.selectorText) +assert(selectors.length === 1); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + Cafe Menu +--fcc-editable-region-- + +--fcc-editable-region-- + + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ + +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae8466a9a3d2cc953c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae8466a9a3d2cc953c.md new file mode 100644 index 00000000000..24dfb838073 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae8466a9a3d2cc953c.md @@ -0,0 +1,65 @@ +--- +id: 5f3477ae8466a9a3d2cc953c +title: الخطوة 15 +challengeType: 0 +dashedName: step-15 +--- + +# --description-- + +الآن بعد أن أصبح لديك CSS في ملف `styles.css`، قم بإزالة عنصر `style` وجميع محتوياته. بمجرد إزالته، سينتقل النص الذي تم توسيطه مرة أخرى إلى اليسار. + +# --hints-- + +يجب ألا يكون لديك أي tag (علامة) `style` في الكود الخاص بك. + +```js +assert(!code.match(/style/i)); +``` + +يجب ألا يكون لديك أي محددات CSS في مِلَفّ HTML الخاص بك. + +```js +(getUserInput) => { + const html = getUserInput('editableContents'); + assert(!html.includes('style')); + assert(!html.includes('text-align')); +} +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + Cafe Menu + + +--fcc-editable-region-- + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ + +``` + +```css +h1, h2, p { + text-align: center; +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae9675db8bb7655b30.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae9675db8bb7655b30.md new file mode 100644 index 00000000000..fd3c192eca9 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477ae9675db8bb7655b30.md @@ -0,0 +1,92 @@ +--- +id: 5f3477ae9675db8bb7655b30 +title: الخطوة 12 +challengeType: 0 +dashedName: step-12 +--- + +# --description-- + +في الخطوة السابقة، استخدمت type selector لتصميم عنصر `h1`. أوضع عناصر `h2` و `p` في المنتصف, عن طريق إضافة منتقي type جديد لكل عنصر في عنصر `style`. + +# --hints-- + +لا يجب عليك تغيير عنصر `h1` الحالي. + +```js +const hasH1 = new __helpers.CSSHelp(document).getStyle('h1'); +assert(hasH1); +``` + +يجب عليك إلا تضيف علامة `style` جديدة. أضف قواعد CSS الجديدة إلى علامة `style`. + +```js +const hasManyStyleTags = document.querySelectorAll('style').length > 1; +assert(!hasManyStyleTags); +``` + +يجب عليك إضافة منتقي `h2` جديد. + +```js +const hasH2 = new __helpers.CSSHelp(document).getStyle('h2'); +assert(hasH2); +``` + +يجب عليك إضافة منتقي `p` جديد. + +```js +const hasP = new __helpers.CSSHelp(document).getStyle('p'); +assert(hasP); +``` + +يجب أن يحتوي عنصرك `h1` على خاصية `text-align` بقيمة `center`. + +```js +const h1TextAlign = new __helpers.CSSHelp(document).getStyle('h1')?.getPropertyValue('text-align'); +assert(h1TextAlign === 'center'); +``` + +يجب أن يحتوي عنصرك `h2` على خاصية `text-align` بقيمة `center`. + +```js +const h2TextAlign = new __helpers.CSSHelp(document).getStyle('h2')?.getPropertyValue('text-align'); +assert(h2TextAlign === 'center'); +``` + +يجب أن يحتوي عنصرك `p` على خاصية `text-align` بقيمة `center`. + +```js +const pTextAlign = new __helpers.CSSHelp(document).getStyle('p')?.getPropertyValue('text-align'); +assert(pTextAlign === 'center'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + Cafe Menu +--fcc-editable-region-- + +--fcc-editable-region-- + + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ + +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477aefa51bfc29327200b.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477aefa51bfc29327200b.md new file mode 100644 index 00000000000..a356caaf3ca --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477aefa51bfc29327200b.md @@ -0,0 +1,73 @@ +--- +id: 5f3477aefa51bfc29327200b +title: الخطوة 14 +challengeType: 0 +dashedName: step-14 +--- + +# --description-- + +لقد قمت بتصميم ثلاثة عناصر عن طريق كتابة CSS داخل (tags) علامات `style`. هذا يعمل، ولكن بما أنه سيكون هناك الكثير من الأنماط الأخرى، من الأفضل وضع جميع الأنماط في ملف منفصل وربطها به. + +لقد قمنا بإنشاء ملف `styles.css` منفصل لك وقمنا بتغيير طريقة عرض المحرر إلى ذلك الملف. يمكنك التغيير بين الملفات من علامات التبويب في الجزء العلوي من المحرر. + +ابدأ بإعادة كتابة الأنماط التي أنشأتها في ملف `styles.css`. تأكد من استبعاد علامات الفتح و الإغلاق للـ `style`. + +# --hints-- + +ملف `styles.css` الخاص بك يجب أن يحتوي على `h1, h2, p` كـ type selectors. + +```js +(getUserInput) => { + assert(getUserInput('editableContents').replace(/[\s\n]*/g, "").match(/(h1|h2|p),(h1|h2|p),(h1|h2|p){/)); +} +``` + +يجب أن يقوم المنتقي الخاص بك بتعيين خاصية `text-align` إلى `center`. + +```js +(getUserInput) => { + assert(getUserInput('editableContents').match(/text-align:\s*center;?/)); +} +``` + +يجب ألا يحتوي الكود الخاص بك على وسوم ` + + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ + +``` + +```css +--fcc-editable-region-- + +--fcc-editable-region-- + +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md new file mode 100644 index 00000000000..a50cc8af454 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md @@ -0,0 +1,86 @@ +--- +id: 5f3477cb2e27333b1ab2b955 +title: الخطوة 16 +challengeType: 0 +dashedName: step-16 +--- + +# --description-- + +الآن تحتاج إلى ربط ملف `styles.css` حتى يتم تطبيق الأنماط مرة أخرى. أدخل عنصر `link` ذاتي الأغلاق في عنصر `head`. اعطيها سمة `rel` بقيمة `stylesheet` و `href` بقيمة `styles.css`. + +# --hints-- + +الكود الخاص بك يجب أن يحتوي على عنصر `link`. + +```js +const link = document.querySelector('link'); +assert(link); +``` + +لا يجب عليك تغيير عنصر `head` الحالي. تأكد من أنك لم تقم بحذف علامة الإغلاق (closing tag). + +```js +assert($('head').length === 1); +``` + +الكود الخاص بك يجب أن يحتوي على عنصر `link` مغلق ذاتيا. + +```js +const link = document.querySelectorAll('link'); +assert(link.length === 1); +``` + +يجب أن يكون عنصر `link` الخاص بك داخل عنصر `head` الخاص بك. + +```js +const link = document.querySelector('head > link'); +assert(link); +``` + +يجب أن يكون عنصر `link` الخاص بك على سمة `rel` بقيمة `stylesheet`. + +```js +const link = document.querySelector('link') +const rel = link.getAttribute('rel') +assert(rel == `stylesheet`) +``` + +عنصر `link` الخاص بك يجب أن يحتوي على سمة `href` بقيمة `styles.css`. + +```js +const link = document.querySelector('link') +assert(link.dataset.href == 'styles.css') + +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + Cafe Menu + +--fcc-editable-region-- + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ + +``` + +```css +h1, h2, p { + text-align: center; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb303c5cb61b43aa9b.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb303c5cb61b43aa9b.md new file mode 100644 index 00000000000..6081d1c6969 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb303c5cb61b43aa9b.md @@ -0,0 +1,68 @@ +--- +id: 5f3477cb303c5cb61b43aa9b +title: الخطوة 18 +challengeType: 0 +dashedName: step-18 +--- + +# --description-- + +يتم توسيط النص مرة أخرى بحيث يعمل الرابط إلى مِلَفّ CSS. أضف تصميم آخر إلى المِلَفّ الذي يغير خاصية `background-color` إلى `brown` لعنصر `body`. + +# --hints-- + +يجب عليك استخدام منتقي `body`. + +```js +const hasBody = new __helpers.CSSHelp(document).getStyle('body'); +assert(hasBody); +``` + +يجب عليك تعيين خاصية `background-color` إلى `brown`. + +```js +const hasBackground = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['background-color'] === 'brown'); +assert(hasBackground); +``` + +يجب أن يحتوي عنصر `body` الخاص بك على خلفية `brown`. + +```js +const bodyBackground = new __helpers.CSSHelp(document).getStyle('body')?.getPropertyValue('background-color'); +assert(bodyBackground === 'brown'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ + +``` + +```css +--fcc-editable-region-- +h1, h2, p { + text-align: center; +} +--fcc-editable-region-- + +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cbcb6ba47918c1da92.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cbcb6ba47918c1da92.md new file mode 100644 index 00000000000..c9515cf3164 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cbcb6ba47918c1da92.md @@ -0,0 +1,70 @@ +--- +id: 5f3477cbcb6ba47918c1da92 +title: الخطوة 17 +challengeType: 0 +dashedName: step-17 +--- + +# --description-- + +لكي يبدو تصميم الصفحة مشابه على الهاتف المحمول كما هو الحال على حاسوب مكتبي أو حاسوب محمول، تحتاج إلى إضافة عنصر `meta` مع سمة `content` خاصة. + +يضاف ما يلي ضمن عنصر `head`: + +```html + +``` + +# --hints-- + +الكود الخاص بك يجب أن يحتوي على عنصرين `meta`. + +```js +assert(code.match(//g).length === 2); +``` + +يجب أن يحتوي عنصر `meta` الخاص بك على سمة `name` بقيمة `viewport`. + +```js +const meta = $('meta'); +assert(meta[0].outerHTML.match(/name=('|")viewport\1/) || meta[1].outerHTML.match(/name=('|")viewport\1/)); +``` + +يجب أن يحتوي عنصر `meta` الخاص بك على `content` بقيمة `width=device-width, initial-scale=1.0`. + +```js +const meta = $('meta'); +assert(meta[0].outerHTML.match(/content=('|")width=device-width, initial-scale=1.0\1/) || meta[1].outerHTML.match(/content=('|")width=device-width, initial-scale=1.0\1/)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + +--fcc-editable-region-- + + + Cafe Menu + + +--fcc-editable-region-- + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ + +``` + +```css +h1, h2, p { + text-align: center; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f34a1fd611d003edeafd681.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f34a1fd611d003edeafd681.md new file mode 100644 index 00000000000..4fd5550a5e0 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f34a1fd611d003edeafd681.md @@ -0,0 +1,62 @@ +--- +id: 5f34a1fd611d003edeafd681 +title: الخطوة 19 +challengeType: 0 +dashedName: step-19 +--- + +# --description-- + +هذه الخلفية البنيّة تجعل من الصعب قراءة النص. قم بتغيير لون خلفية العنصر `body` ليكون `burlywood` حتي يكون لديه لون معين ولكن لا يزال بإمكانك قراءة النص. + +# --hints-- + +يجب عليك تعيين خاصية `background-color` إلى `burlywood`. + +```js +const hasBackground = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['background-color'] === 'burlywood'); +assert(hasBackground); +``` + +يجب أن يحتوي عنصر `body` الخاص بك على خلفية `burlywood`. + +```js +const bodyBackground = new __helpers.CSSHelp(document).getStyle('body')?.getPropertyValue('background-color'); +assert(bodyBackground === 'burlywood'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ + +``` + +```css +--fcc-editable-region-- +body { + background-color: brown; +} +--fcc-editable-region-- +h1, h2, p { + text-align: center; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed60785e1f3e9850b6e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed60785e1f3e9850b6e.md new file mode 100644 index 00000000000..24d79f2c932 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed60785e1f3e9850b6e.md @@ -0,0 +1,72 @@ +--- +id: 5f356ed60785e1f3e9850b6e +title: الخطوة 24 +challengeType: 0 +dashedName: step-24 +--- + +# --description-- + +من السهل الآن ملاحظة أن النص تم توسيطه داخل عنصر `div`. حاليا، يتم تحديد عرض عنصر `div` بالبكسل (`px`). غيّر قيمة الخاصية `width` إلى `80%`، لجعلها 80% من عرض العنصر الحاوي لها (`body`). + +# --hints-- + +يجب عليك تعيين خاصية `width` إلى `80%`. + +```js +const hasWidth = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style.width === '80%'); +assert(hasWidth); +``` + +يجب ألا يكون لديك خاصية `width` بقيمة `300px`. + +```js +const hasWidth = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style.width === '300px'); +assert(!hasWidth); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + +
+
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+
+ + +``` + +```css +body { + /* + background-color: burlywood; + */ +} + +h1, h2, p { + text-align: center; +} +--fcc-editable-region-- +div { + width: 300px; + background-color: burlywood; +} +--fcc-editable-region-- +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed60a5decd94ab66986.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed60a5decd94ab66986.md new file mode 100644 index 00000000000..5f4153cbb76 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed60a5decd94ab66986.md @@ -0,0 +1,77 @@ +--- +id: 5f356ed60a5decd94ab66986 +title: الخطوة 22 +challengeType: 0 +removeComments: false +dashedName: step-22 +--- + +# --description-- + +التعليقات في CSS تبدو هكذا: + +```css +/* comment here */ +``` + +في الـ style sheet الخاصة بك، علق على السطر الذي يحتوي على الخاصية والقيمة `background-color`، حتى تتمكن من مشاهدة تأثير تغيير نمط (styling) عنصر `div` فقط. هذا سيجعل الخلفية بيضاء مرة أخرى. + +# --hints-- + +يجب عليك تحويل سطر `background-color: burlywood;` ألى تعليق في CSS الخاص بك. + +```js +assert(code.match(/\/\*\s*background-color:\s*burlywood;?\s*\*\//i)); +``` + + +يجب أن يكون `body` خلفية بيضاء. + +```js +const bodyCSS = $('body').css('background-color'); +assert(bodyCSS === "rgba(0, 0, 0, 0)") +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + +
+
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+
+ + +``` + +```css +body { +--fcc-editable-region-- + background-color: burlywood; +--fcc-editable-region-- +} + +h1, h2, p { + text-align: center; +} + +div { + width: 300px; +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed6199b0cdef1d2be8f.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed6199b0cdef1d2be8f.md new file mode 100644 index 00000000000..955e69fccf8 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed6199b0cdef1d2be8f.md @@ -0,0 +1,83 @@ +--- +id: 5f356ed6199b0cdef1d2be8f +title: الخطوة 26 +challengeType: 0 +dashedName: step-26 +--- + +# --description-- + +حتى الآن كنت تستخدم محددات النوع (type selectors) لتغيبر أنماط (style) العناصر. class selector يتم تعريفه باسم مع نقطة مباشرة أمامه، مثل هذا: + +```css +.class-name { + styles +} +``` + +قم بتغيير منتقي `div` الحالي إلى class selector عن طريق استبدال `div` بـ class يسمى `menu`. + +# --hints-- + +يجب أن يكون لديك class selector يسمي `.menu`. + +```js +const hasMenu = new __helpers.CSSHelp(document).getStyle('.menu'); +assert(hasMenu); +``` + +يجب ألا يكون لديك منتقي `div`. + +```js +const hasDiv = new __helpers.CSSHelp(document).getStyle('div'); +assert(!hasDiv); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + +
+
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+
+ + +``` + +```css +body { + /* + background-color: burlywood; + */ +} + +h1, h2, p { + text-align: center; +} + +--fcc-editable-region-- +div { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} +--fcc-editable-region-- +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed63c7807a4f1e6d054.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed63c7807a4f1e6d054.md new file mode 100644 index 00000000000..467d8f50c86 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed63c7807a4f1e6d054.md @@ -0,0 +1,74 @@ +--- +id: 5f356ed63c7807a4f1e6d054 +title: الخطوة 21 +challengeType: 0 +dashedName: step-21 +--- + +# --description-- + +الهدف الآن هو جعل `div` لا يأخذ كامل عرض الصفحة. خاصية `width` في CSS مثالية لهذا. أنشئ منتقي نوع جديد (new type selector) في المِلَفّ الأسلوب الذي تعطي عنصر `div` العرض `300px`. + +# --hints-- + +يجب أن يكون لديك منتقي نوع (type selector) من `div`. + +```js +const hasDiv = new __helpers.CSSHelp(document).getStyle('div'); +assert(hasDiv); +``` + +يجب عليك تعيين خاصية `width` إلى `300px`. + +```js +const hasWidth = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style.width === '300px'); +assert(hasWidth); +``` + +يجب أن يكون عرض `div` الخاص بك 300px. + +```js +const divWidth = new __helpers.CSSHelp(document).getStyle('div')?.getPropertyValue('width'); +assert(divWidth === '300px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + +
+
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+
+ + +``` + +```css +--fcc-editable-region-- +body { + background-color: burlywood; +} + +h1, h2, p { + text-align: center; +} +--fcc-editable-region-- + +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed63e0fa262326eef05.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed63e0fa262326eef05.md new file mode 100644 index 00000000000..a17a2cc3292 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed63e0fa262326eef05.md @@ -0,0 +1,72 @@ +--- +id: 5f356ed63e0fa262326eef05 +title: الخطوة 23 +challengeType: 0 +dashedName: step-23 +--- + +# --description-- + +الآن استخدم منتقي `div` الحالي لتعيين لون خلفية عنصر `div` ليكون `burlywood`. + +# --hints-- + +يجب عليك تعيين خاصية `background-color` إلى `burlywood`. + +```js +const hasBackgroundColor = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['background-color'] === 'burlywood'); +assert(hasBackgroundColor); +``` + +يجب أن يكون `div` خلفية burlywood. + +```js +const divBackground = new __helpers.CSSHelp(document).getStyle('div')?.getPropertyValue('background-color'); +assert(divBackground === 'burlywood'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + +
+
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+
+ + +``` + +```css +body { + /* + background-color: burlywood; + */ +} + +h1, h2, p { + text-align: center; +} + +--fcc-editable-region-- +div { + width: 300px; +} +--fcc-editable-region-- +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed656a336993abd9f7c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed656a336993abd9f7c.md new file mode 100644 index 00000000000..71824e35726 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed656a336993abd9f7c.md @@ -0,0 +1,81 @@ +--- +id: 5f356ed656a336993abd9f7c +title: الخطوة 25 +challengeType: 0 +dashedName: step-25 +--- + +# --description-- + +بعد ذلك ، تريد توسيط `div` أفقيًا. يمكنك القيام بذلك عن طريق تعيين خواص `margin-left` و `margin-right` إلى `auto`. فكر في الـ margin كمساحة غير مرئية حول عنصر ما. باستخدام خاصيتي الـ margin هاتين ، قم بتوسيط عنصر `div` داخل عنصر `body`. + +# --hints-- + +يجب عليك تعيين خاصية `margin-left` إلى `auto`. + +```js +const hasMargin = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['margin-left'] === 'auto'); +assert(hasMargin); +``` + +يجب عليك تعيين خاصية `margin-right` إلى `auto`. + +```js +const hasMargin = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['margin-right'] === 'auto'); +assert(hasMargin); +``` + +يجب عليك تعيين خصائص `margin-left` و `margin-right` للـ `div` إلى `auto`. + +```js +const divMarginRight = new __helpers.CSSHelp(document).getStyle('div')?.getPropertyValue('margin-right'); +const divMarginLeft = new __helpers.CSSHelp(document).getStyle('div')?.getPropertyValue('margin-left'); +assert(divMarginRight === 'auto'); +assert(divMarginLeft === 'auto'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + +
+
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+
+ + +``` + +```css +body { + /* + background-color: burlywood; + */ +} + +h1, h2, p { + text-align: center; +} + +--fcc-editable-region-- +div { + width: 80%; + background-color: burlywood; +} +--fcc-editable-region-- +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed69db0a491745e2bb6.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed69db0a491745e2bb6.md new file mode 100644 index 00000000000..fa1dff96480 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed69db0a491745e2bb6.md @@ -0,0 +1,73 @@ +--- +id: 5f356ed69db0a491745e2bb6 +title: الخطوة 27 +challengeType: 0 +dashedName: step-27 +--- + +# --description-- + +لتطبيق أسلوب الفئة على العنصر `div`، أضف سمة `class` إلى علامة المفتوحة (opening tag) لعنصر `div` وتعيين قيمته إلى `menu`. + +# --hints-- + +يجب أن يستمر `div` في الظهور. تأكد من أنك لم تقم بتغيير وسم `
`. + +```js +assert($('div').length === 1); +``` + +يجب أن يحتوي عنصر `div` الجديد على فئة `menu`. + +```js +assert($('div').attr('class').includes('menu')); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + +--fcc-editable-region-- +
+--fcc-editable-region-- +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+
+ + +``` + +```css +body { + /* + background-color: burlywood; + */ +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed6cf6eab5f15f5cfe6.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed6cf6eab5f15f5cfe6.md new file mode 100644 index 00000000000..77e2ad30d71 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f356ed6cf6eab5f15f5cfe6.md @@ -0,0 +1,75 @@ +--- +id: 5f356ed6cf6eab5f15f5cfe6 +title: الخطوة 20 +challengeType: 0 +dashedName: step-20 +--- + +# --description-- + +يُستخدم عنصر `div` بشكل أساسي لأغراض تخطيط التصميم بخلاف عناصر المحتوى الأخرى التي استخدمتها حتى الآن. أضف عنصر `div` داخل عنصر `body` ثم حرك جميع العناصر الأخرى داخل `div` الجديد. + +# --hints-- + +يجب أن يكون لديك العلامة المفتوحة (opening tag) الآتية `
`. + +```js +assert(code.match(/
/i)); +``` + +يجب أن يكون لديك العلامة المغلقة (closing tag) الآتي `
`. + +```js +assert(code.match(/<\/div>/i)); +``` + +لا يجب عليك تغيير عنصر `body` الحالي. تأكد من أنك لم تقم بحذف علامة الإغلاق (closing tag). + +```js +assert($('body').length === 1); +``` + +يجب أن تكون علامة `div` الخاصة بك متداخلة في `body`. + +```js +const div = $('div')[0]; +assert(div.parentElement.tagName === 'BODY'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + +--fcc-editable-region-- + +
+

CAMPER CAFE

+

Est. 2020

+
+

Coffee

+
+
+ +--fcc-editable-region-- + +``` + +```css +body { + background-color: burlywood; +} + +h1, h2, p { + text-align: center; +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c4321f818cdc4bed30.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c4321f818cdc4bed30.md new file mode 100644 index 00000000000..fb43ca76fac --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c4321f818cdc4bed30.md @@ -0,0 +1,84 @@ +--- +id: 5f35e5c4321f818cdc4bed30 +title: الخطوة 29 +challengeType: 0 +dashedName: step-29 +--- + +# --description-- + +يبدو الأمر جيدا. حان الوقت لبدء إضافة بعض عناصر القائمة. قم بإضافة عنصر `article` فارغ تحت عنوان `Coffee`. سوف تحتوي على نكهة (flavor) وسعر (price) لكل قهوة (coffee) تعرضها حالياً. + +# --hints-- + +يجب أن يكون لديك العلامة المفتوحة الآتية `
`. + +```js +assert(code.match(/
/i)); +``` + +يجب أن يكون لديك العلامة المغلقة (closing tag) الآتي `
`. + +```js +assert(code.match(/<\/article>/i)); +``` + +لا يجب عليك تغيير عنصر `h2` الحالي. + +```js +assert($('h2').length === 1); +``` + +عنصر `article` الخاص بك يجب أن يكون تحت عنصر `h2` الخاص بك. + +```js +const article = $('article')[0]; +assert(article.previousElementSibling.tagName === 'H2'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c44359872a137bd98f.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c44359872a137bd98f.md new file mode 100644 index 00000000000..7d2221a584f --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c44359872a137bd98f.md @@ -0,0 +1,90 @@ +--- +id: 5f35e5c44359872a137bd98f +title: الخطوة 28 +challengeType: 0 +dashedName: step-28 +--- + +# --description-- + +بما أن المنتج الرئيسي للكافيه للبيع هو القهوة، يمكنك استخدام صورة لحبوب البن على خلفية الصفحة. + +احذف التعليق ومحتوياته داخل منتقي `body`. الآن أضف خاصية `background-image` وقم بتعيين قيمتها إلى `url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg)`. + +# --hints-- + +يجب عليك إزالة خاصية `background-color` التي تم تعليقها. + +```js +assert(!code.match(/\/\*\s*background-color:\s*burlywood;?\s*\*\//i)) +``` + +يجب ألا يكون في منتقي `body` الخاص بك أي تعليقات. + +```js +assert(!code.match(/body\s*{\s*\/\*/i)); +``` + +يجب عليك تعيين خاصية `background-image` إلى `url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg)`. + +```js +const hasBackground = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['background-image'] === `url("https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg")`) +assert(hasBackground) +``` + +يجب أن يحتوي عنصر `body` على صورة خلفية لحبوب القهوة. + +```js +const bodyBackground = new __helpers.CSSHelp(document).getStyle('body')?.getPropertyValue('background-image'); +console.log(bodyBackground); +assert(bodyBackground === `url("https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg")`); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +--fcc-editable-region-- +body { + /* + background-color: burlywood; + */ +} +--fcc-editable-region-- + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d0fc037f7311b4ac8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d0fc037f7311b4ac8.md new file mode 100644 index 00000000000..5a95269381f --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d0fc037f7311b4ac8.md @@ -0,0 +1,105 @@ +--- +id: 5f3c866d0fc037f7311b4ac8 +title: الخطوة 38 +challengeType: 0 +dashedName: step-38 +--- + +# --description-- + +هذا اقرب، لكن الثمن لم يبقى على اليمين. هذا لأن عناصر `inline-block` تأخذ فقط عرض محتوياتها. لنشرها، أضف خاصية `width` إلى منتقيات class تسمي `flavor` و `price` التي تبلغ قيمتها `50%` لكل منهم. + +# --hints-- + +يجب عليك تعيين خاصية `width` إلى `50%` في منتقي `.flavor` الخاص بك. + +```js +const flavorWidth = new __helpers.CSSHelp(document).getStyle('.flavor')?.getPropertyValue('width'); +assert(flavorWidth === '50%'); +``` + +يجب عليك تعيين خاصية `width` إلى `50%` في منتقي `.price` الخاص بك. + +```js +const priceWidth = new __helpers.CSSHelp(document).getStyle('.price')?.getPropertyValue('width'); +assert(priceWidth === '50%'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} + +.item p { + display: inline-block; +} + +--fcc-editable-region-- +.flavor { + text-align: left; +} + +.price { + text-align: right; +} +--fcc-editable-region-- +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d28d7ad0de6470505.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d28d7ad0de6470505.md new file mode 100644 index 00000000000..4a2b6270335 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d28d7ad0de6470505.md @@ -0,0 +1,98 @@ +--- +id: 5f3c866d28d7ad0de6470505 +title: الخطوة 32 +challengeType: 0 +dashedName: step-32 +--- + +# --description-- + +يكونا flavors و prices مكدسة بعضَها فوق بعض حاليًا ويتم توسيطها مع عناصر `p` التابعة لها. سيكون من اللطيف لو أن flavor كانت على اليسار و price على اليمين. + +أضف فئة (class) تسمى `flavor` لتغير `French Vanilla` في عنصر `p`. + +# --hints-- + +يجب عليك إضافة class باسم `flavor` إلى عنصر `p` الخاص بك. + +```js +assert(code.match(//i)); +``` + +يجب أن يكون لديك عنصر واحد فقط بسمة class باسم `flavor`. + +```js +assert($('.flavor').length === 1); +``` + +يجب أن يكون class مسمى `flavor` الخاص بك في عنصر `p` مع النص `French Vanilla`. + +```js +assert($('.flavor')[0].innerText.match(/French Vanilla/i)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d5414453fc2d7b480.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d5414453fc2d7b480.md new file mode 100644 index 00000000000..41e6987e90e --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866d5414453fc2d7b480.md @@ -0,0 +1,126 @@ +--- +id: 5f3c866d5414453fc2d7b480 +title: الخطوة 31 +challengeType: 0 +dashedName: step-31 +--- + +# --description-- + +بدءًا من أسفل زوج coffee/price الحالي، أضف coffee و prices التالية باستخدام عناصر `article` مع عنصرين `p` متداخلين داخل كل منهما. كما كان الحال من قبل، يجب أن يحتوي نص العنصر `p` الأول على coffee flavor ويجب أن يحتوي نص العنصر `p` الثاني على price. + +```bash +Caramel Macchiato 3.75 +Pumpkin Spice 3.50 +Hazelnut 4.00 +Mocha 4.50 +``` + +# --hints-- + +يجب أن يكون لديك خمسة عناصر `article`. + +```js +assert($('article').length === 5); +``` + +كل عنصر `article` يجب أن يحتوي على عنصرين `p`. + +```js +const articles = $('article'); +assert(articles[0].children.length === 2); +assert(articles[1].children.length === 2); +assert(articles[2].children.length === 2); +assert(articles[3].children.length === 2); +assert(articles[4].children.length === 2); +``` + +يجب أن يحتوي عنصر `article` الأول على عناصر `p` مع النص `French Vanilla` و `3.00`. + +```js +const children = $('article')[0].children; +assert(children[0].innerText.match(/French Vanilla/i)); +assert(children[1].innerText.match(/3\.00/i)); +``` + +يجب أن يحتوي عنصر `article` الثاني على عناصر `p` مع النص `Caramel Macchiato` و `3.75`. + +```js +const children = $('article')[1].children; +assert(children[0].innerText.match(/Caramel Macchiato/i)); +assert(children[1].innerText.match(/3\.75/i)); +``` + +يجب أن يحتوي عنصر `article` الثالث على عناصر `p` مع النص `Pumpkin Spice` و `3.50`. + +```js +const children = $('article')[2].children; +assert(children[0].innerText.match(/Pumpkin Spice/i)); +assert(children[1].innerText.match(/3\.50/i)); +``` + +يجب أن يحتوي عنصر `article` الرابع على عناصر `p` مع النص `Hazelnut` و `4.00`. + +```js +const children = $('article')[3].children; +assert(children[0].innerText.match(/Hazelnut/i)); +assert(children[1].innerText.match(/4\.00/i)); +``` + +يجب أن يحتوي عنصر `article` الخامس على عناصر `p` مع النص `Mocha` و `4.50`. + +```js +const children = $('article')[4].children; +assert(children[0].innerText.match(/Mocha/i)); +assert(children[1].innerText.match(/4\.50/i)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866daec9a49519871816.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866daec9a49519871816.md new file mode 100644 index 00000000000..b87d50e92bd --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866daec9a49519871816.md @@ -0,0 +1,86 @@ +--- +id: 5f3c866daec9a49519871816 +title: الخطوة 30 +challengeType: 0 +dashedName: step-30 +--- + +# --description-- + +عناصر `article` تحتوي عادة على عناصر متعددة تحتوي على معلومات ذات صلة. في هذه الحالة، سوف تحتوي على coffee flavor و price لتلك الـ flavor. ادمج عنصرين `p` داخل عنصر `article` الخاص بك. النص الأول يجب أن يكون `French Vanilla`، والنص الثاني `3.00`. + +# --hints-- + +لا يجب عليك تغيير عنصر `article` الحالي. + +```js +assert($('article').length === 1); +``` + +عنصر `article` الخاص بك يجب أن يحتوي على عنصرين `p`. + +```js +assert($('article').children('p').length === 2); +``` + +يجب أن يحتوي العنصر `p` الاول على النص `French Vanilla`. + +```js +const firstP = $('article').children('p')[0]; +assert(firstP.innerText.match(/French Vanilla/i)); +``` + +يجب أن يحتوي العنصر `p` الثاني على النص `3.00`. + +```js +const secondP = $('article').children('p')[1]; +assert(secondP.innerText.match(/3\.00/i)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dbf362f99b9a0c6d0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dbf362f99b9a0c6d0.md new file mode 100644 index 00000000000..35ba230ed9b --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dbf362f99b9a0c6d0.md @@ -0,0 +1,115 @@ +--- +id: 5f3c866dbf362f99b9a0c6d0 +title: الخطوة 37 +challengeType: 0 +dashedName: step-37 +--- + +# --description-- + +العناصر `p` متداخلة في عنصر `article` مع سمة class بقيمة `item`. يمكنك تصميم جميع عناصر `p` المتداخلة في أي مكان في العناصر مع class يسمى `item` مثل هذا: + +```css +.item p { } +``` + +باستخدام المنتقي (selector) أعلاه، أضف خاصية `display` بقيمة `inline-block` بحيث تتصرف عناصر `p` مثل العناصر الـ inline. + +# --hints-- + +يجب عليك استخدام منتقي `.item p`. + +```js +const hasItemP = new __helpers.CSSHelp(document).getStyle('.item p'); +assert(hasItemP); +``` + +يجب عليك تعيين خاصية `display` إلى `inline-block`. + +```js +const hasDisplay = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style.display === 'inline-block'); +assert(hasDisplay); +``` + +يجب أن يقوم منتقي `.item p` بتعيين خاصية `display` إلى `inline-block`. + +```js +const itemPDisplay = new __helpers.CSSHelp(document).getStyle('.item p')?.getPropertyValue('display'); +assert(itemPDisplay === 'inline-block'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +.flavor { + text-align: left; +} + +.price { + text-align: right; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dd0d0275f01d4d847.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dd0d0275f01d4d847.md new file mode 100644 index 00000000000..f3f1925f8a5 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dd0d0275f01d4d847.md @@ -0,0 +1,109 @@ +--- +id: 5f3c866dd0d0275f01d4d847 +title: الخطوة 39 +challengeType: 0 +dashedName: step-39 +--- + +# --description-- + +حسنا لم ينجح ذلك. صمم عناصر `p` لتكون `inline-block` ووضعها على سطر منفصل في الكود البرمجي يخلق مساحة إضافية ليمين عنصر `p` الأول، مما تسبب في انتقال الثاني إلى السطر التالي. إحدى طرق إصلاح هذا هو جعل عرض كل عنصر `p` أقل قليلاً من `50%`. + +قم بتغيير قيمة `width` إلى `49%` لكل class لمعرفة ما يحدث. + +# --hints-- + +يجب عليك تعيين خاصية `width` إلى `49%` في منتقي `.flavor` الخاص بك. + +```js +const flavorWidth = new __helpers.CSSHelp(document).getStyle('.flavor')?.getPropertyValue('width'); +assert(flavorWidth === '49%'); +``` + +يجب عليك تعيين خاصية `width` إلى `49%` في منتقي `.price` الخاص بك. + +```js +const priceWidth = new __helpers.CSSHelp(document).getStyle('.price')?.getPropertyValue('width'); +assert(priceWidth === '49%'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} + +.item p { + display: inline-block; +} + +--fcc-editable-region-- +.flavor { + text-align: left; + width: 50%; +} + +.price { + text-align: right; + width: 50%; +} +--fcc-editable-region-- +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866de7a5b784048f94b1.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866de7a5b784048f94b1.md new file mode 100644 index 00000000000..c307be4357d --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866de7a5b784048f94b1.md @@ -0,0 +1,106 @@ +--- +id: 5f3c866de7a5b784048f94b1 +title: الخطوة 36 +challengeType: 0 +dashedName: step-36 +--- + +# --description-- + +هذا هو نوعا ما مما تريده، ولكن الآن سيكون من الجيد أن تكون flavor و price على نفس السطر. عناصر `p` هي block-level، لذا فهي تأخذ كامل عرض العنصر الأساسي (parent element). + +لجعلهم على نفس السطر، تحتاج إلى تطبيق بعض التصميمات على عناصر `p` ، لكي يتصرفون مثل العناصر الـ inline. أضف سمة `class` مع قيمة `item` إلى عنصر `article` الأول تحت عنوان `Coffee`. + +# --hints-- + +يجب عليك إضافة class تسمى `item` إلى عنصر `article` الخاص بك. + +```js +assert(code.match(//i)) +``` + +يجب أن يكون لديك عنصر بسمة class تسمى `item` واحد فقط. + +```js +assert($('.item').length === 1); +``` + +يجب أن يحتوي العنصر الأول من `article` على class تسمى `item`. + +```js +assert($('article')[0].className === 'item'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} + +.flavor { + text-align: left; +} + +.price { + text-align: right; +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade94c6576e7f7b7953f.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade94c6576e7f7b7953f.md new file mode 100644 index 00000000000..30395492312 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade94c6576e7f7b7953f.md @@ -0,0 +1,106 @@ +--- +id: 5f3cade94c6576e7f7b7953f +title: الخطوة 41 +challengeType: 0 +dashedName: step-41 +--- + +# --description-- + +الآن امضي قدما و قم بتغيير عرض class الـ `flavor` و `price` ليصل إلى `50%` مرة أخرى. + +# --hints-- + +يجب عليك تعيين خاصية `width` إلى `50%` في منتقي `.flavor` الخاص بك. + +```js +const flavorWidth = new __helpers.CSSHelp(document).getStyle('.flavor')?.getPropertyValue('width'); +assert(flavorWidth === '50%'); +``` + +يجب عليك تعيين خاصية `width` إلى `50%` في منتقي `.price` الخاص بك. + +```js +const priceWidth = new __helpers.CSSHelp(document).getStyle('.price')?.getPropertyValue('width'); +assert(priceWidth === '50%'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} + +.item p { + display: inline-block; +} + +--fcc-editable-region-- +.flavor { + text-align: left; + width: 49%; +} + +.price { + text-align: right; + width: 49%; +} +--fcc-editable-region-- +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade9993019e26313fa8e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade9993019e26313fa8e.md new file mode 100644 index 00000000000..dc403e37e28 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade9993019e26313fa8e.md @@ -0,0 +1,117 @@ +--- +id: 5f3cade9993019e26313fa8e +title: الخطوة 42 +challengeType: 0 +dashedName: step-42 +--- + +# --description-- + +الآن بعد أن علمت أنها تعمل، يمكنك تغيير العناصر المتبقية من `article` و `p` لتطابق المجموعة الأولى. ابدأ بإضافة class يسمي `item` إلى عناصر `article` الأخرى. + +# --hints-- + +يجب أن يكون لديك خمسة عناصر `article` فقط. + +```js +assert($('article').length === 5); +``` + +يجب أن يكون لديك فقط خمسة عناصر `.item`. + +```js +assert($('.item').length === 5); +``` + +يجب أن تكون عناصر `.item` الخاصة بك هي عناصر `article`. + + +```js +const articles = $('article'); +const items = $('.item'); +assert(articles[0] === items[0]); +assert(articles[1] === items[1]); +assert(articles[2] === items[2]); +assert(articles[3] === items[3]); +assert(articles[4] === items[4]); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} + +.item p { + display: inline-block; +} + +.flavor { + text-align: left; + width: 50%; +} + +.price { + text-align: right; + width: 50%; +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md new file mode 100644 index 00000000000..2efff9d2d4a --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md @@ -0,0 +1,112 @@ +--- +id: 5f3cade99dda4e6071a85dfd +title: الخطوة 46 +challengeType: 0 +dashedName: step-46 +--- + +# --description-- + +سوف تعود إلى تصميم القائمة بعد بضع خطوات، ولكن الآن، أضف عنصر `section` ثان تحت الأول لعرض الحَلْوَيَات (desserts) المقدمة من المقهى (cafe). + +# --hints-- + +يجب أن يكون لديك علامة مفتوحة (opening tag) الآتي `section`. + +```js +assert(code.match(/
/ig).length === 2); +``` + +يجب أن يكون لديك علامة مغلقة (closing tag) الآتي `section`. + +```js +assert(code.match(/<\/section>/ig).length === 2); +``` + +لا يجب عليك تغيير عنصر `main` الحالي. + +```js +assert($('main').length === 1); +``` + +عنصر `section` الجديد الخاص بك يجب أن يكون متداخلا في عنصر `main`. + +```js +assert($('main').children('section').length === 2); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} + +.item p { + display: inline-block; +} + +.flavor { + text-align: left; + width: 75%; +} + +.price { + text-align: right; + width: 25% +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade9fa77275d9f4efe62.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade9fa77275d9f4efe62.md new file mode 100644 index 00000000000..22fe67af236 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade9fa77275d9f4efe62.md @@ -0,0 +1,101 @@ +--- +id: 5f3cade9fa77275d9f4efe62 +title: الخطوة 40 +challengeType: 0 +dashedName: step-40 +--- + +# --description-- + +قد نجح ذلك، ولكن لا يزال هناك مسافة فارغة صغير على يمين price. + +يمكنك الاستمرار في تجربة نسب مئوية مختلفة للعرض. وبدلا من ذلك، استخدم مفتاح space على لوحة المفاتيح لنقل عنصر `p` مع الفئة `price` بجانب عنصر `p` مع الفئة `flavor` بحيث تكون على نفس السطر في المحرر. تيقن من عدم وجود مسافة. + +# --hints-- + +يجب ألا يكون للعناصر `p` الخاصة بك أي مساحة بينها. + +```js +assert(code.match(/Vanilla<\/p>

+ + + + + Cafe Menu + + + +

+ + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; +} + +.item p { + display: inline-block; +} + +.flavor { + text-align: left; + width: 49%; +} + +.price { + text-align: right; + width: 49%; +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e01f288a026d709587.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e01f288a026d709587.md new file mode 100644 index 00000000000..ba2922e9dbc --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e01f288a026d709587.md @@ -0,0 +1,156 @@ +--- +id: 5f3ef6e01f288a026d709587 +title: الخطوة 66 +challengeType: 0 +dashedName: step-66 +--- + +# --description-- + +يمكنك استخدام عنصر `hr` لعرض مقطع بين أجزاء من محتوى مختلف. + +أولاً، أضف عنصر `hr` بين عنصر `p` مع فئة (class) تسمى `established` و أول عنصر `section`. لاحظ أن عناصر `hr` مغلقة ذاتيا (self closing). + +# --hints-- + +يجب عليك إضافة عنصر `hr`. عناصر `hr` مغلقة ذاتيا. + +```js +assert(code.match(//i)); +assert(!code.match(/<\/hr>/i)); +``` + +لا تغيير عنصرك `p` الموجود مع فئة (class) تسمى `established`. + +```js +assert($('p.established').length === 1); +``` + +لا يجب عليك تغيير عنصر `main` الحالي. + +```js +assert($('main').length === 1); +``` + +يجب أن يكون عنصرك `hr` بين عنصرك `p` وعنصرك `section`. + +```js +assert($('hr')[0].previousElementSibling.tagName === 'P'); +assert($('hr')[0].nextElementSibling.tagName === 'SECTION'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); + font-family: sans-serif; +} + +h1 { + font-size: 40px; +} + +h2 { + font-size: 30px; +} + +.established { + font-style: italic; +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; + padding: 20px; + max-width: 500px; +} + +h1, h2 { + font-family: Impact, serif; +} + +.item p { + display: inline-block; +} + +.flavor, .dessert { + text-align: left; + width: 75%; +} + +.price { + text-align: right; + width: 25% +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e03d719d5ac4738993.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e03d719d5ac4738993.md new file mode 100644 index 00000000000..4bb22c6dc2f --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e03d719d5ac4738993.md @@ -0,0 +1,120 @@ +--- +id: 5f3ef6e03d719d5ac4738993 +title: الخطوة 56 +challengeType: 0 +dashedName: step-56 +--- + +# --description-- + +العرض الحالي للقائمة سيستغرق دائماً 80% من عرض عنصر `body`. وعلى شاشة عريضة جدا، يبدو coffee و dessert بعيدين عن أسعارهما. + +أضف خاصية `max-width` إلى class تسمى `menu` بقيمة `500px` لمنعها من النمو على نطاق واسع. + +# --hints-- + +يجب عليك تعيين خاصية `max-width` إلى `500px`. + +```js +const hasMaxWidth = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['max-width'] === '500px'); +assert(hasMaxWidth); +``` + +يجب أن يكون للعنصر `.menu` الخاص بك `max-width` بقيمة `500px`. + +```js +const menuMaxWidth = new __helpers.CSSHelp(document).getStyle('.menu')?.getPropertyValue('max-width'); +assert(menuMaxWidth === '500px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +--fcc-editable-region-- +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; + padding: 20px; +} +--fcc-editable-region-- + +.item p { + display: inline-block; +} + +.flavor, .dessert { + text-align: left; + width: 75%; +} + +.price { + text-align: right; + width: 25% +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e04559b939080db057.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e04559b939080db057.md new file mode 100644 index 00000000000..13b0d0fd8d1 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e04559b939080db057.md @@ -0,0 +1,145 @@ +--- +id: 5f3ef6e04559b939080db057 +title: الخطوة 55 +challengeType: 0 +dashedName: step-55 +--- + +# --description-- + +بما أن جميع الجوانب الأربعة للقائمة لديها نفس المسافات الداخلية، قم بالمضي قدما وحذف الخواص الأربعة واستخدام خاصية `padding` واحدة بالقيمة `20px`. + +# --hints-- + +يجب عليك إزالة خاصية `padding-left`. + +```js +assert(!code.match(/padding-left/i)); +``` + +يجب عليك إزالة خاصية `padding-right`. + +```js +assert(!code.match(/padding-right/i)); +``` + +يجب عليك إزالة خاصية `padding-top`. + +```js +assert(!code.match(/padding-top/i)); +``` + +يجب عليك إزالة خاصية `padding-bottom`. + +```js +assert(!code.match(/padding-bottom/i)); +``` + +يجب عليك تعيين خاصية `padding` إلى `20px`. + +```js +const hasPadding = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['padding'] === '20px'); +assert(hasPadding); +``` + +يجب أن يكون للعنصر `.menu` الخاص بك `padding` بقيمة `20px`. + +```js +const menuPadding = new __helpers.CSSHelp(document).getStyle('.menu')?.getPropertyValue('padding'); +assert(menuPadding === '20px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +--fcc-editable-region-- +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; + padding-left: 20px; + padding-right: 20px; + padding-top: 20px; + padding-bottom: 20px; +} +--fcc-editable-region-- + +.item p { + display: inline-block; +} + +.flavor, .dessert { + text-align: left; + width: 75%; +} + +.price { + text-align: right; + width: 25% +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e050279c7a4a7101d3.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e050279c7a4a7101d3.md new file mode 100644 index 00000000000..b2883954a55 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e050279c7a4a7101d3.md @@ -0,0 +1,142 @@ +--- +id: 5f3ef6e050279c7a4a7101d3 +title: الخطوة 54 +challengeType: 0 +dashedName: step-54 +--- + +# --description-- + +هذا يبدو أفضل. الآن حاول إضافة `20px` مطابق إلى padding في الجزء العلوي والأسفل من القائمة. + +# --hints-- + +لا يجب عليك إزالة خواص `padding-left` أو `padding-right`. + +```js +const paddingLeft = new __helpers.CSSHelp(document).getStyle('.menu')?.getPropertyValue('padding-left'); +assert(paddingLeft === '20px'); +const paddingRight = new __helpers.CSSHelp(document).getStyle('.menu')?.getPropertyValue('padding-right'); +assert(paddingRight === '20px'); +``` + +يجب عليك تعيين خاصية `padding-top` إلى `20px`. + +```js +const hasPaddingTop = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['padding-top'] === '20px'); +assert(hasPaddingTop); +``` + +يجب عليك تعيين خاصية `padding-bottom` إلى `20px`. + +```js +const hasPaddingBottom = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['padding-top'] === '20px'); +assert(hasPaddingBottom); +``` + +يجب أن يكون للعنصر `.menu` الخاص بك `padding-top` بقيمة `20px`. + +```js +const menuPaddingTop = new __helpers.CSSHelp(document).getStyle('.menu')?.getPropertyValue('padding-top'); +assert(menuPaddingTop === '20px'); +``` + +يجب أن يكون للعنصر `.menu` الخاص بك `padding-bottom` بقيمة `20px`. + +```js +const menuPaddingBottom = new __helpers.CSSHelp(document).getStyle('.menu')?.getPropertyValue('padding-bottom'); +assert(menuPaddingBottom === '20px'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} + +h1, h2, p { + text-align: center; +} + +--fcc-editable-region-- +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; + padding-left: 20px; + padding-right: 20px; +} +--fcc-editable-region-- + +.item p { + display: inline-block; +} + +.flavor, .dessert { + text-align: left; + width: 75%; +} + +.price { + text-align: right; + width: 25% +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e05473f91f948724ab.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e05473f91f948724ab.md new file mode 100644 index 00000000000..e9428a35fd4 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e05473f91f948724ab.md @@ -0,0 +1,119 @@ +--- +id: 5f3ef6e05473f91f948724ab +title: الخطوة 57 +challengeType: 0 +dashedName: step-57 +--- + +# --description-- + +يمكنك تغيير `font-family` للنص، لجعله يبدو مختلفا عن الخط الافتراضي للمتصفح الخاص بك. كل متصفح لديه بعض الخطوط الشائعة المتاحة له. + +قم بتغيير كل النصوص في `body`، عن طريق إضافة خاصية `font-family` بقيمة `sans-serif`. هذا خط شائع إلى حد ما ويمكن قراءته بشكل جيد. + +# --hints-- + +يجب عليك تعيين خاصية `font-family` إلى `sans-serif`. + +```js +const hasFontFamily = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['font-family'] === 'sans-serif'); +``` + +`body` يجب أن يحتوي على `font-family` بقيمة `sans-serif`. + +```js +const bodyFontFamily = new __helpers.CSSHelp(document).getStyle('body')?.getPropertyValue('font-family'); +assert(bodyFontFamily === 'sans-serif'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +--fcc-editable-region-- +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); +} +--fcc-editable-region-- + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; + padding: 20px; + max-width: 500px; +} + +.item p { + display: inline-block; +} + +.flavor, .dessert { + text-align: left; + width: 75%; +} + +.price { + text-align: right; + width: 25% +} +``` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md new file mode 100644 index 00000000000..62388a25a42 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md @@ -0,0 +1,136 @@ +--- +id: 5f3ef6e056bdde6ae6892ba2 +title: الخطوة 58 +challengeType: 0 +dashedName: step-58 +--- + +# --description-- + +من الممل بعض الشيء أن يكون لكل النصوص نفس `font-family`. يزال يمكنك الحصول على أغلبية النص `sans-serif` وجعل العناصر `h1` و `h2` مختلفة باستخدام منتقي (selector) مختلف. + +صمم عناصر `h1` و `h2` بحيث يستخدم نص هذه العناصر فقط خط `Impact`. + +# --hints-- + +يجب استخدام منتقي `h1, h2`. + +```js +const h1h2Selector = new __helpers.CSSHelp(document).getStyle('h1, h2'); +assert(h1h2Selector); +``` + +يجب عليك تعيين `font-family` إلى `Impact`. + +```js +const hasFontFamily = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['font-family'] === 'Impact'); +assert(hasFontFamily); +``` + +يجب أن يكون للعنصر `h1` الخاص بك `font-family` بقيمة `Impact`. + +```js +assert($('h1').css('font-family').match(/impact/i)); +``` + +يجب أن يكون للعنصر `h2` الخاص بك `font-family` بقيمة `Impact`. + +```js +assert($('h2').css('font-family').match(/impact/i)); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); + font-family: sans-serif; +} + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; + padding: 20px; + max-width: 500px; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +.item p { + display: inline-block; +} + +.flavor, .dessert { + text-align: left; + width: 75%; +} + +.price { + text-align: right; + width: 25% +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e06d34faac0447fc44.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e06d34faac0447fc44.md new file mode 100644 index 00000000000..3fc36c63cd9 --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e06d34faac0447fc44.md @@ -0,0 +1,133 @@ +--- +id: 5f3ef6e06d34faac0447fc44 +title: الخطوة 60 +challengeType: 0 +dashedName: step-60 +--- + +# --description-- + +اجعل النص `Est. 2020` بحروف مائلة (italicized) عن طريق إنشاء منتقي class يسمي `established` وإعطائه خاصية `font-style` بالقيمة `italic`. + +# --hints-- + +يجب أن يكون لديك منتقي `.established`. + +```js +const hasEstablished = new __helpers.CSSHelp(document).getStyle('.established'); +assert(hasEstablished); +``` + +يجب عليك تعيين خاصية `font-style` إلى `italic`. + +```js +const hasFontStyle = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['font-style'] === 'italic'); +assert(hasFontStyle); +``` + +يجب أن يقوم منتقي `.established` الخاص بك بتعيين خاصية `font-style` إلى `italic`. + +```js +const establishedFontStyle = new __helpers.CSSHelp(document).getStyle('.established')?.getPropertyValue('font-style'); +assert(establishedFontStyle === 'italic'); +``` + +# --seed-- + +## --seed-contents-- + +```html + + + + + + Cafe Menu + + + + + + +``` + +```css +body { + background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg); + font-family: sans-serif; +} + +--fcc-editable-region-- + +--fcc-editable-region-- + +h1, h2, p { + text-align: center; +} + +.menu { + width: 80%; + background-color: burlywood; + margin-left: auto; + margin-right: auto; + padding: 20px; + max-width: 500px; +} + +h1, h2 { + font-family: Impact, serif; +} + +.item p { + display: inline-block; +} + +.flavor, .dessert { + text-align: left; + width: 75%; +} + +.price { + text-align: right; + width: 25% +} +``` + diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e07276f782bb46b93d.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e07276f782bb46b93d.md new file mode 100644 index 00000000000..51695f822cb --- /dev/null +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e07276f782bb46b93d.md @@ -0,0 +1,147 @@ +--- +id: 5f3ef6e07276f782bb46b93d +title: الخطوة 63 +challengeType: 0 +dashedName: step-63 +--- + +# --description-- + +قم بإضافة عنصر `footer` تحت عنصر `main`، حيث يمكنك إضافة بعض المعلومات الإضافية. + +# --hints-- + +يجب أن يكون لديك العلامة المفتوحة (opening tag) الآتي `