CINXE.COM
Bytescale Blog | Image, Video & Audio Processing
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <link rel="apple-touch-icon-precomposed" sizes="57x57" href="https://assets.bytescale.com/website/62abf12864ddd0e2ce819f50ecbf7560.png"/> <link rel="apple-touch-icon-precomposed" sizes="60x60" href="https://assets.bytescale.com/website/b29c0bdcd9c3c37e6a256f1a571a9e45.png"/> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="https://assets.bytescale.com/website/1dce64fbbcf3b10ac9736ddfedfeedb5.png"/> <link rel="apple-touch-icon-precomposed" sizes="76x76" href="https://assets.bytescale.com/website/49660af4e725a70ac44b009302a55dee.png"/> <link rel="apple-touch-icon-precomposed" sizes="114x114" href="https://assets.bytescale.com/website/a514b9a39df161a9a2ba988a019233e6.png"/> <link rel="apple-touch-icon-precomposed" sizes="120x120" href="https://assets.bytescale.com/website/22a8db9e6e2b75d0192c922e189caa95.png"/> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://assets.bytescale.com/website/734741f651a2344fd111d94bda695f08.png"/> <link rel="apple-touch-icon-precomposed" sizes="152x152" href="https://assets.bytescale.com/website/5facd7de132ea4920150daa2b8f5039f.png"/> <link rel="icon" type="image/png" sizes="196x196" href="https://assets.bytescale.com/website/197e2659a53f1c835c4345a9ac922680.png"/> <link rel="icon" type="image/png" sizes="96x96" href="https://assets.bytescale.com/website/949687dcf2bb9912f5b447b14171e928.png"/> <link rel="icon" type="image/png" sizes="32x32" href="https://assets.bytescale.com/website/2c6713b445dbec380a10da0b92c1c320.png"/> <link rel="icon" type="image/png" sizes="16x16" href="https://assets.bytescale.com/website/4d2c069f9cf403f2f20a9f611327755d.png"/> <link rel="icon" type="image/png" sizes="128x128" href="https://assets.bytescale.com/website/ba3bac6bdf3365325a184af30ea98539.png"/> <meta name="application-name" content="Bytescale"/> <meta name="msapplication-TileColor" content="#377dff"/> <meta name="msapplication-TileImage" content="https://assets.bytescale.com/website/734741f651a2344fd111d94bda695f08.png"/> <meta name="msapplication-square70x70logo" content="https://assets.bytescale.com/website/ba3bac6bdf3365325a184af30ea98539.png"/> <meta name="msapplication-square150x150logo" content="https://assets.bytescale.com/website/d17a52f68d72cc7949f469a60cc777ab.png"/> <meta name="msapplication-wide310x150logo" content="https://assets.bytescale.com/website/7c44fe383c466c034934e78c7ef4c047.png"/> <meta name="msapplication-square310x310logo" content="https://assets.bytescale.com/website/08547b26bf55463ba067efa95778a1df.png"/> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/> <link rel="stylesheet" type="text/css" href="https://www.bytescale.com/blog/assets/built/screen-v15.css?v=57ae80e17b" /> <title>Bytescale Blog | Image, Video & Audio Processing</title> <meta name="description" content="We write technical posts about handling images, videos, and audio for web apps."> <link rel="icon" href="https://blog.bytescale.com/content/images/size/w256h256/2023/08/Paddle.png" type="image/png"> <link rel="canonical" href="https://www.bytescale.com/blog/"> <meta name="referrer" content="no-referrer-when-downgrade"> <link rel="next" href="https://www.bytescale.com/blog/page/2/"> <meta property="og:site_name" content="Bytescale Blog | Image, Video & Audio Processing"> <meta property="og:type" content="website"> <meta property="og:title" content="Bytescale Blog | Image, Video & Audio Processing"> <meta property="og:description" content="We write technical posts about handling images, videos, and audio for web apps."> <meta property="og:url" content="https://www.bytescale.com/blog/"> <meta property="og:image" content="https://static.ghost.org/v3.0.0/images/publication-cover.png"> <meta property="article:publisher" content="https://www.facebook.com/ghost"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Bytescale Blog | Image, Video & Audio Processing"> <meta name="twitter:description" content="We write technical posts about handling images, videos, and audio for web apps."> <meta name="twitter:url" content="https://www.bytescale.com/blog/"> <meta name="twitter:image" content="https://static.ghost.org/v3.0.0/images/publication-cover.png"> <meta name="twitter:site" content="@ghost"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="416"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "publisher": { "@type": "Organization", "name": "Bytescale Blog | Image, Video & Audio Processing", "url": "https://www.bytescale.com/blog/", "logo": { "@type": "ImageObject", "url": "https://static.ghost.org/v1.0.0/images/ghost-logo.svg" } }, "url": "https://www.bytescale.com/blog/", "name": "Bytescale Blog | Image, Video & Audio Processing", "image": { "@type": "ImageObject", "url": "https://static.ghost.org/v3.0.0/images/publication-cover.png", "width": 1200, "height": 416 }, "mainEntityOfPage": "https://www.bytescale.com/blog/", "description": "We write technical posts about handling images, videos, and audio for web apps." } </script> <meta name="generator" content="Ghost 5.115"> <link rel="alternate" type="application/rss+xml" title="Bytescale Blog | Image, Video & Audio Processing" href="https://www.bytescale.com/blog/rss/"> <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/sodo-search.min.js" data-key="58d803afabf4b9dc86bcdd0e4e" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/main.css" data-sodo-search="/" data-locale="en" crossorigin="anonymous"></script> <link href="https://www.bytescale.com/blog/webmentions/receive/" rel="webmention"> <script defer src="/blog/public/cards.min.js?v=57ae80e17b"></script><style>:root {--ghost-accent-color: #15171A;}</style> <link rel="stylesheet" type="text/css" href="/blog/public/cards.min.css?v=57ae80e17b"> </head> <body class="home-template"> <div class="gh-viewport"> <header id="header" class="header header-box-shadow-on-scroll header-abs-top header-bg-transparent header-show-hide header-white-nav-links-lg dark-parent "> <div class="header-section"> <div id="logoAndNav" class="container mt-1"> <nav class="js-mega-menu navbar navbar-expand-lg"> <a class="navbar-brand" aria-label="Bytescale" href="/"> <svg viewBox="0 0 3248.70051 859.447344" version="1.1" xmlns="http://www.w3.org/2000/svg" style="width:116px;height:30.687929403501712px"> <g fill-rule="nonzero" fill="none"> <g class="white-if-dark-parent" fill="#37F"> <path d="M313.426379 834.508566 59.205788 699.446937c-48.8786163-28.422945-71.0148095-87.3111-52.96241233-140.894086 9.43289703-28.2389 30.49168943-45.010269 56.29697153-59.970878l50.3813508-28.134629 247.445851 137.790174 338.181496-188.78266c7.233532-4.037966 16.370886-1.447448 20.408852 5.786083 1.247581 2.234893 1.902532 4.751852 1.902532 7.311385v168.719371c0 39.654626-21.088833 76.275072-55.455821 95.952178L407.298246 834.488866c-29.343237 15.605192-64.522082 15.612574-93.871867.0197ZM407.434051 24.938778l254.220591 135.061629c48.8786163 28.422945 71.0148095 87.3111 52.96241233 140.894086-9.43289703 28.2389-30.49168943 45.010269-56.29697153 59.9708776l-50.3813508 28.1346297L360.492881 251.209826 22.311385 439.9924862c-7.233532 4.03796597-16.370886 1.447448-20.408852-5.7860837-1.247581-2.2348929-1.902532-4.7518516-1.902532-7.3113841V258.175647c0-39.654626 21.088833-76.275072 55.455821-95.952178L313.562184 24.958478c29.343237-15.605192 64.522082-15.612574 93.871867-.0197Z"></path> </g> <g class="white-if-dark-parent" fill="#000"> <path d="M981.628928 608V243.8853788h168.836637c29.908173 0 53.434234 8.5203516 70.578181 25.561055 17.143948 17.0407034 25.715921 39.6973401 25.715921 67.9699102 0 18.328537-3.094604 33.066626-9.283814 44.214267-6.18921 11.147642-14.258548 19.329733-24.208014 24.546275-9.949467 5.216542-20.518398 8.275826-31.706794 9.177853v3.129926c8.080206.103244 16.635878 1.745639 25.667016 4.927186 9.031138 3.181547 17.590886 8.076131 25.679242 14.683751 8.088357 6.607619 14.689185 15.311365 19.802482 26.111237 5.113298 10.799872 7.669947 23.972998 7.669947 39.51938 0 19.333808-4.086291 36.877147-12.258873 52.630016-8.172582 15.75287-19.301205 28.298381-33.385868 37.636535-14.084663 9.338153-30.169 14.00723-48.253012 14.00723H981.628928Zm68.825749-155.778981v97.312958h96.212594c8.596426 0 16.006904-1.559529 22.231434-4.678586 6.22453-3.119058 11.034888-7.626476 14.431074-13.522255 3.396186-5.895779 5.094279-13.09026 5.094279-21.583442v-17.736242c0-8.493182-1.698093-15.687663-5.094279-21.583442-3.396186-5.895779-8.206544-10.404556-14.431074-13.52633-6.22453-3.121774-13.635008-4.682661-22.231434-4.682661h-96.212594Zm0-149.8696173v93.1886293h85.233403c8.292128 0 15.420044-1.509265 21.383746-4.527795 5.963703-3.01853 10.532253-7.407761 13.705649-13.167693 3.173396-5.759931 4.760094-12.682717 4.760094-20.768357v-16.260939c0-8.08564-1.586698-15.008426-4.760094-20.7683573-3.173396-5.7599316-7.741946-10.1491625-13.705649-13.1676927-5.963702-3.0185302-13.091618-4.5277953-21.383746-4.5277953h-85.233403ZM1434.198093 479.632316l47.552039-144.115119h62.916385l-109.840809 320.735815c-4.314515 12.987015-9.677772 23.627946-16.089771 31.922791-6.412 8.294844-14.546545 14.394395-24.403635 18.29865-9.857091 3.904256-22.251811 5.856384-37.184162 5.856384h-40.14292v-53.062012h48.872476l12.625662-38.260074-97.370014-285.491554h66.372344l47.397173 144.115119 17.671036 68.825749h2.975059l18.649137-68.825749ZM1716.906065 608h-47.747659c-22.844106 0-40.297786-6.012608-52.361039-18.037824-12.063253-12.025216-18.094879-29.128409-18.094879-51.30958V388.579208h-40.297786v-53.062011h20.996581c10.030975 0 16.880403-2.316199 20.548284-6.948597 3.667881-4.632398 5.501822-11.5918625 5.501822-20.8783938v-46.4027699h59.990231v74.2297607h55.637679v53.062011h-55.637679v166.35878h51.464445V608ZM1883.119177 614.25985c-26.79455 0-49.785371-5.825139-68.972464-17.475415-19.187093-11.650277-33.884428-28.178836-44.092005-49.585676s-15.311366-46.61605-15.311366-75.62763c0-28.761621 4.981526-53.78472 14.944578-75.069298 9.963051-21.284577 24.353371-37.813136 43.170959-49.585675 18.817588-11.77254 41.501394-17.65881 68.051418-17.65881 28.413852 0 51.742933 6.263926 69.987245 18.791777 18.244312 12.527852 31.816826 29.193616 40.717556 49.997294 8.90072 20.803677 13.35109 43.654576 13.35109 68.552695v22.031739h-181.030309v6.634789c0 19.621805 5.571104 35.453466 16.713311 47.494983 11.142208 12.041518 27.64088 18.062276 49.496017 18.062276 16.546218 0 30.185302-3.508939 40.91725-10.526818 10.731948-7.017879 20.189647-15.794982 28.373097-26.33131l35.985984 40.142919c-11.14492 15.13884-26.362551 27.282243-45.652888 36.43021-19.290337 9.147966-41.506828 13.72195-66.649473 13.72195Zm-1.100364-234.605819c-11.769823 0-22.008645 2.68027-30.716466 8.04081s-15.445854 12.80498-20.2141 22.33332c-4.768245 9.52834-7.152368 20.644736-7.152368 33.349189v4.018368h111.528035v-4.996469c0-12.568606-2.036353-23.538287-6.10906-32.909044-4.072706-9.370756-10.090748-16.686141-18.054125-21.946154-7.963377-5.260013-17.724016-7.89002-29.281916-7.89002ZM2149.210308 614.25985c-25.91969 0-47.76667-4.413684-65.54095-13.241051-17.77428-8.827366-33.48368-21.117485-47.1282-36.870354l40.76238-39.441947c9.94404 11.394883 20.98164 20.375758 33.11282 26.942623 12.13118 6.566866 25.98354 9.850299 41.55709 9.850299 16.01913 0 27.57431-2.783515 34.66555-8.350543 7.09124-5.567028 10.63686-13.222032 10.63686-22.96501 0-7.976962-2.5322-14.319679-7.59659-19.028152-5.0644-4.708472-13.64452-7.913113-25.74038-9.613923l-27.27273-3.496713c-19.29034-2.678912-35.72652-7.316744-49.30855-13.913496-13.58202-6.596752-23.86703-15.566758-30.85503-26.91002-6.98799-11.343261-10.48199-25.239096-10.48199-41.687505 0-26.533723 9.43597-47.546605 28.3079-63.038648 18.87192-15.492042 43.88415-23.238064 75.03669-23.238064 17.79058 0 33.01229 1.677716 45.66512 5.033148 12.65283 3.355432 23.8059 8.250015 33.45922 14.68375s18.74559 14.171606 27.27681 23.213612l-39.41749 39.384891c-7.87372-8.596427-17.36538-15.671362-28.47499-21.224805-11.1096-5.553444-23.27474-8.330165-36.49541-8.330165-14.09553 0-24.50009 2.57295-31.21367 7.718851-6.71358 5.145902-10.07037 12.068687-10.07037 20.768358 0 8.944195 2.71831 15.724341 8.15492 20.340437 5.43662 4.616097 14.53975 7.945717 27.30941 9.988863l27.85145 3.871652c29.90817 4.026518 52.04179 12.754717 66.40087 26.184595 14.35907 13.429878 21.53861 31.507098 21.53861 54.231658 0 17.388473-4.61202 32.832969-13.83606 46.333488-9.22404 13.500519-22.23279 24.009677-39.02625 31.527475-16.79347 7.517797-36.55248 11.276696-59.27704 11.276696ZM2423.700768 614.25985c-40.11304 0-71.05637-12.876979-92.82999-38.630938-21.77363-25.753958-32.66045-60.439886-32.66045-104.057783 0-43.612464 10.88682-78.234543 32.66045-103.866239 21.77362-25.631696 52.71695-38.447544 92.82999-38.447544 27.51726 0 50.24453 6.156607 68.18183 18.469819 17.9373 12.313212 30.85639 29.158295 38.75728 50.535249l-54.44766 24.35473c-3.15166-11.460091-9.09091-20.893337-17.81775-28.29974-8.72684-7.406402-20.28474-11.109604-34.6737-11.109604-18.31224 0-32.16053 5.848233-41.54487 17.544698-9.38434 11.696465-14.07651 27.162696-14.07651 46.398694v49.5816c0 18.888229 4.69217 34.267518 14.07651 46.137868 9.38434 11.870349 23.23263 17.805524 41.54487 17.805524 15.81807 0 28.15846-4.12297 37.02114-12.36891 8.86269-8.24594 15.71755-18.424989 20.56459-30.537147l51.21992 24.387334c-8.93876 24.034129-22.68924 42.059727-41.25144 54.076792-18.56219 12.017064-41.08026 18.025597-67.55421 18.025597ZM2817.215068 608h-37.0782c-9.90599 0-18.76596-2.347444-26.57991-7.042332-7.81394-4.694888-13.89855-11.52258-18.25382-20.483077-4.35527-8.960498-6.5329-19.564749-6.5329-31.812755v-5.860459l16.53807 18.437215h-18.62469c-4.58077 17.3287-13.92436 30.497752-28.03076 39.507154-14.1064 9.009403-31.28295 13.514104-51.52965 13.514104-27.78352 0-49.15776-7.36429-64.12271-22.09287-14.96496-14.72858-22.44743-34.123519-22.44743-58.184819 0-18.752381 4.60251-34.260725 13.80753-46.525032 9.20502-12.264307 22.48547-21.500575 39.84134-27.708803 17.35587-6.208229 38.33886-9.312343 62.94899-9.312343h46.22345v-19.985876c0-14.95952-3.98984-26.684513-11.96952-35.174978-7.97968-8.490466-20.91371-12.735698-38.80211-12.735698-15.50291 0-28.08374 3.405695-37.74249 10.217086-9.65875 6.811391-17.64794 14.955445-23.96757 24.432163l-39.75168-35.611049c9.99838-15.731134 23.36441-28.383965 40.09809-37.958493 16.73369-9.574528 38.74234-14.361792 66.02594-14.361792 36.75488 0 64.75168 8.427976 83.9904 25.283927 19.23871 16.855951 28.85807 40.89008 28.85807 72.102389v128.294326h27.10156V608Zm-93.84069-117.437399h-42.79195c-17.51888 0-30.61594 2.863664-39.29115 8.590993-8.67522 5.727328-13.01283 14.09553-13.01283 25.104607v8.75401c0 10.759117 3.64207 18.933058 10.92621 24.521822 7.28414 5.588764 17.33278 8.383145 30.14591 8.383145 10.23203 0 19.36369-1.499755 27.39499-4.499267 8.0313-2.999511 14.47726-7.440364 19.33789-13.322559 4.86062-5.882194 7.29093-13.099769 7.29093-21.652724v-35.880027ZM2969.876288 608h-35.56214c-22.84411 0-39.74625-5.740913-50.70642-17.222739-10.96017-11.481826-16.44026-27.650389-16.44026-48.505689V221.975903h66.73913v332.962085h35.96969V608ZM3126.853498 614.25985c-26.79455 0-49.78537-5.825139-68.97246-17.475415-19.18709-11.650277-33.88443-28.178836-44.092-49.585676-10.20758-21.40684-15.31137-46.61605-15.31137-75.62763 0-28.761621 4.98153-53.78472 14.94458-75.069298 9.96305-21.284577 24.35337-37.813136 43.17096-49.585675 18.81758-11.77254 41.50139-17.65881 68.05142-17.65881 28.41385 0 51.74293 6.263926 69.98724 18.791777 18.24431 12.527852 31.81683 29.193616 40.71755 49.997294 8.90073 20.803677 13.35109 43.654576 13.35109 68.552695v22.031739h-181.0303v6.634789c0 19.621805 5.5711 35.453466 16.71331 47.494983 11.14221 12.041518 27.64088 18.062276 49.49601 18.062276 16.54622 0 30.18531-3.508939 40.91725-10.526818 10.73195-7.017879 20.18965-15.794982 28.3731-26.33131l35.98599 40.142919c-11.14492 15.13884-26.36256 27.282243-45.65289 36.43021-19.29034 9.147966-41.50683 13.72195-66.64948 13.72195Zm-1.10036-234.605819c-11.76982 0-22.00864 2.68027-30.71647 8.04081-8.70782 5.36054-15.44585 12.80498-20.2141 22.33332-4.76824 9.52834-7.15236 20.644736-7.15236 33.349189v4.018368h111.52803v-4.996469c0-12.568606-2.03635-23.538287-6.10906-32.909044-4.0727-9.370756-10.09075-16.686141-18.05412-21.946154-7.96338-5.260013-17.72402-7.89002-29.28192-7.89002Z"></path> </g> </g> </svg> </a> <button type="button" class="navbar-toggler btn btn-icon btn-sm rounded-circle" aria-label="Toggle navigation" aria-expanded="false" aria-controls="navBar"> <span class="navbar-toggler-default"> <svg width="14" height="14" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> <path fill="currentColor" d="M17.4,6.2H0.6C0.3,6.2,0,5.9,0,5.5V4.1c0-0.4,0.3-0.7,0.6-0.7h16.9c0.3,0,0.6,0.3,0.6,0.7v1.4C18,5.9,17.7,6.2,17.4,6.2z M17.4,14.1H0.6c-0.3,0-0.6-0.3-0.6-0.7V12c0-0.4,0.3-0.7,0.6-0.7h16.9c0.3,0,0.6,0.3,0.6,0.7v1.4C18,13.7,17.7,14.1,17.4,14.1z"></path> </svg> </span> <span class="navbar-toggler-toggled"> <svg width="14" height="14" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg"> <path fill="currentColor" d="M11.5,9.5l5-5c0.2-0.2,0.2-0.6-0.1-0.9l-1-1c-0.3-0.3-0.7-0.3-0.9-0.1l-5,5l-5-5C4.3,2.3,3.9,2.4,3.6,2.6l-1,1 C2.4,3.9,2.3,4.3,2.5,4.5l5,5l-5,5c-0.2,0.2-0.2,0.6,0.1,0.9l1,1c0.3,0.3,0.7,0.3,0.9,0.1l5-5l5,5c0.2,0.2,0.6,0.2,0.9-0.1l1-1 c0.3-0.3,0.3-0.7,0.1-0.9L11.5,9.5z"></path> </svg> </span> </button> <div id="navBar" class="collapse navbar-collapse"> <div class="navbar-body header-abs-top-inner"> <ul class="navbar-nav"> <li class="navbar-nav-item"><a href="/#features" class="nav-link">Features</a></li> <li class="navbar-nav-item"><a class="nav-link" href="/pricing">Pricing</a></li> <li class="navbar-nav-item"><a class="nav-link" href="/contact">Support</a></li> <li class="navbar-nav-item"><a class="nav-link" href="/docs">Documentation</a></li> <li class="navbar-nav-item"><a class="nav-link" href="/signin">Sign In</a></li> <li class="navbar-nav-last-item"><a class="btn btn-xs btn-primary btn-pill d-block d-lg-inline-block" href="/get-started">Sign Up</a></li> </ul> </div> </div> </nav> </div> </div> </header> <main id="content" role="main"> <!-- Hero Section --> <div class="position-relative"> <!-- Main Slider --> <div id="heroSlider" class="js-slick-carousel slick slick-initialized slick-slider slick-dotted slick-vertical"> <div class="js-slide d-flex gradient-x-overlay-sm-dark bg-img-hero min-h-620rem" style="background-image: url(/blog/content/images/size/w2000/2025/03/soc2type2-1.jpg);"> <!-- News Block --> <div class="container d-flex align-items-center min-h-620rem"> <div class="w-lg-60 mr-5"> <div class="media align-items-center mb-3"> <div class="avatar avatar-sm avatar-circle mr-3"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2023/09/ProfileSquareMedium.jpg" alt="Lawrence Wagerfield"> </div> <div class="media-body"> <a class="text-white" href="/blog/author/lawrence/">Lawrence Wagerfield</a> </div> </div> <div class="mb-5"> <h3 class="h1 font-weight-bold text-white">Bytescale Achieves SOC 2 Type II Compliance</h3> <p class="text-white">Bytescale is now SOC 2 Type II compliant. This certification demonstrates our ongoing commitment to maintaining the highest standards of security.</p> </div> <a class="btn btn-primary btn-wide transition-3d-hover" href="/blog/bytescale-is-soc-2-type-2-compliant/">Read Article <i class="fas fa-angle-right fa-sm ml-1"></i></a> </div> </div> <!-- End News Block --> </div> </div> <!-- End Main Slider --> </div> <!-- End Hero Section --> <!-- Blogs Section --> <div class="container space-2 space-lg-3"> <div class="row justify-content-lg-between"> <div class="col-lg-8"> <article class="row mb-7"> <div class="col-md-5"> <a href="/blog/advanced-color-management-is-now-available/" class="card-img bg-img-hero article-list__image" style="background-image: url(/blog/content/images/size/w600/2024/05/AdvancedColorManagement-7.jpg);"></a> </div> <div class="col-md-7"> <div class="card-body d-flex flex-column h-100 px-0"> <span class="d-block mb-2"> <a class="font-weight-bold" href="/blog/tag/image-processing/">Image Processing</a>, <a class="font-weight-bold" href="/blog/tag/releases/">Releases</a>, <a class="font-weight-bold" href="/blog/tag/features/">Features</a> </span> <h3><a class="text-inherit" href="/blog/advanced-color-management-is-now-available/">Bytescale's Advanced Color Management API is Now Available</a></h3> <p>Introducing Advanced Color Management in Bytescale's Image Processing API! Achieve perfect color accuracy for print or continue benefiting from Bytescale's web-optimized default settings: color profiles are now yours to control!</p> <div class="media align-items-center mt-auto"> <a class="avatar avatar-sm avatar-circle mr-3" href="/blog/author/henri/"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2022/05/Henri-copy-3.webp" alt="Henri Cook"> </a> <div class="media-body"> <span class="text-dark"> <a class="d-inline-block text-inherit font-weight-bold" href="/blog/author/henri/">Henri Cook</a> </span> <small class="d-block"><time datetime="2024-05-28">28 May 2024</time > <span class="bull">•</span> 2 min read</small> </div> </div> </div> </div> </article> <article class="row mb-7"> <div class="col-md-5"> <a href="/blog/introducing-mfa-on-all-bytescale-plans/" class="card-img bg-img-hero article-list__image" style="background-image: url(/blog/content/images/size/w600/2024/05/MFA.jpg);"></a> </div> <div class="col-md-7"> <div class="card-body d-flex flex-column h-100 px-0"> <span class="d-block mb-2"> <a class="font-weight-bold" href="/blog/tag/security/">Security</a>, <a class="font-weight-bold" href="/blog/tag/features/">Features</a>, <a class="font-weight-bold" href="/blog/tag/releases/">Releases</a> </span> <h3><a class="text-inherit" href="/blog/introducing-mfa-on-all-bytescale-plans/">Introducing Multi-Factor Authentication on All Bytescale Plans</a></h3> <p>Bytescale is happy to announce Multi-Factor Authentication (MFA) on all plans. MFA adds an extra layer of security to protect your account from unauthorized access and phishing attacks. You can easily activate MFA in your dashboard today.</p> <div class="media align-items-center mt-auto"> <a class="avatar avatar-sm avatar-circle mr-3" href="/blog/author/henri/"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2022/05/Henri-copy-3.webp" alt="Henri Cook"> </a> <div class="media-body"> <span class="text-dark"> <a class="d-inline-block text-inherit font-weight-bold" href="/blog/author/henri/">Henri Cook</a> </span> <small class="d-block"><time datetime="2024-05-21">21 May 2024</time > <span class="bull">•</span> 2 min read</small> </div> </div> </div> </div> </article> <article class="row mb-7"> <div class="col-md-5"> <a href="/blog/bytescale-is-soc-2-compliant/" class="card-img bg-img-hero article-list__image" style="background-image: url(/blog/content/images/size/w600/2024/05/SOC2-2.jpg);"></a> </div> <div class="col-md-7"> <div class="card-body d-flex flex-column h-100 px-0"> <span class="d-block mb-2"> <a class="font-weight-bold" href="/blog/tag/announcements/">Announcements</a>, <a class="font-weight-bold" href="/blog/tag/security/">Security</a> </span> <h3><a class="text-inherit" href="/blog/bytescale-is-soc-2-compliant/">Bytescale is now SOC 2 Type I Compliant</a></h3> <p>Bytescale is now SOC 2 Type I compliant. Achieving compliance reflects our unwavering dedication to security in our day-to-day operations.</p> <div class="media align-items-center mt-auto"> <a class="avatar avatar-sm avatar-circle mr-3" href="/blog/author/lawrence/"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2023/09/ProfileSquareMedium.jpg" alt="Lawrence Wagerfield"> </a> <div class="media-body"> <span class="text-dark"> <a class="d-inline-block text-inherit font-weight-bold" href="/blog/author/lawrence/">Lawrence Wagerfield</a> </span> <small class="d-block"><time datetime="2024-05-15">15 May 2024</time > <span class="bull">•</span> 1 min read</small> </div> </div> </div> </div> </article> <article class="row mb-7"> <div class="col-md-5"> <a href="/blog/introducing-bytescale-antivirus-api/" class="card-img bg-img-hero article-list__image" style="background-image: url(/blog/content/images/size/w600/2024/05/AntivirusAPI.jpg);"></a> </div> <div class="col-md-7"> <div class="card-body d-flex flex-column h-100 px-0"> <span class="d-block mb-2"> <a class="font-weight-bold" href="/blog/tag/releases/">Releases</a>, <a class="font-weight-bold" href="/blog/tag/features/">Features</a>, <a class="font-weight-bold" href="/blog/tag/announcements/">Announcements</a>, <a class="font-weight-bold" href="/blog/tag/security/">Security</a> </span> <h3><a class="text-inherit" href="/blog/introducing-bytescale-antivirus-api/">Introducing the Bytescale Antivirus API: Simple, Fast Virus Scanning</a></h3> <p>Bytescale's new Antivirus API offers a simple REST interface, fast scans at 10MB/sec, and scales to thousands of scans concurrently.</p> <div class="media align-items-center mt-auto"> <a class="avatar avatar-sm avatar-circle mr-3" href="/blog/author/henri/"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2022/05/Henri-copy-3.webp" alt="Henri Cook"> </a> <div class="media-body"> <span class="text-dark"> <a class="d-inline-block text-inherit font-weight-bold" href="/blog/author/henri/">Henri Cook</a> </span> <small class="d-block"><time datetime="2024-05-03">3 May 2024</time > <span class="bull">•</span> 3 min read</small> </div> </div> </div> </div> </article> <article class="row mb-7"> <div class="col-md-5"> <a href="/blog/rebrand-to-bytescale/" class="card-img bg-img-hero article-list__image" style="background-image: url(/blog/content/images/size/w600/2023/08/bytescale-rebrand.png);"></a> </div> <div class="col-md-7"> <div class="card-body d-flex flex-column h-100 px-0"> <span class="d-block mb-2"> <a class="font-weight-bold" href="/blog/tag/announcements/">Announcements</a> </span> <h3><a class="text-inherit" href="/blog/rebrand-to-bytescale/">Upload is now Bytescale: the Developer Platform for Images, Videos & Audio</a></h3> <p>Today, we are thrilled to unveil a new chapter in our journey as Upload rebrands to Bytescale.</p> <div class="media align-items-center mt-auto"> <a class="avatar avatar-sm avatar-circle mr-3" href="/blog/author/lawrence/"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2023/09/ProfileSquareMedium.jpg" alt="Lawrence Wagerfield"> </a> <div class="media-body"> <span class="text-dark"> <a class="d-inline-block text-inherit font-weight-bold" href="/blog/author/lawrence/">Lawrence Wagerfield</a> </span> <small class="d-block"><time datetime="2023-08-15">15 Aug 2023</time > <span class="bull">•</span> 3 min read</small> </div> </div> </div> </div> </article> <article class="row mb-7"> <div class="col-md-5"> <a href="/blog/cloudflare-r2-support-released/" class="card-img bg-img-hero article-list__image" style="background-image: url(/blog/content/images/size/w600/2023/07/CF_logo_horizontal_blktype-copy.webp);"></a> </div> <div class="col-md-7"> <div class="card-body d-flex flex-column h-100 px-0"> <span class="d-block mb-2"> <a class="font-weight-bold" href="/blog/tag/announcements/">Announcements</a>, <a class="font-weight-bold" href="/blog/tag/cloudflare/">Cloudflare</a>, <a class="font-weight-bold" href="/blog/tag/r2/">R2</a> </span> <h3><a class="text-inherit" href="/blog/cloudflare-r2-support-released/">New Release: Cloudflare R2 Supported by Bytescale</a></h3> <p>From today, developers can upload to, download from, and process files in any Cloudflare R2 bucket.</p> <div class="media align-items-center mt-auto"> <a class="avatar avatar-sm avatar-circle mr-3" href="/blog/author/lawrence/"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2023/09/ProfileSquareMedium.jpg" alt="Lawrence Wagerfield"> </a> <div class="media-body"> <span class="text-dark"> <a class="d-inline-block text-inherit font-weight-bold" href="/blog/author/lawrence/">Lawrence Wagerfield</a> </span> <small class="d-block"><time datetime="2023-07-09">9 Jul 2023</time > <span class="bull">•</span> 1 min read</small> </div> </div> </div> </div> </article> <article class="row mb-7"> <div class="col-md-5"> <a href="/blog/digitalocean-spaces-support-released/" class="card-img bg-img-hero article-list__image" style="background-image: url(/blog/content/images/size/w600/2023/05/digital-ocean.webp);"></a> </div> <div class="col-md-7"> <div class="card-body d-flex flex-column h-100 px-0"> <span class="d-block mb-2"> <a class="font-weight-bold" href="/blog/tag/announcements/">Announcements</a>, <a class="font-weight-bold" href="/blog/tag/digitalocean/">DigitalOcean</a> </span> <h3><a class="text-inherit" href="/blog/digitalocean-spaces-support-released/">New Release: DigitalOcean Spaces Supported by Bytescale</a></h3> <p>From today, developers can upload to, download from, and process files in any DigitalOcean Space.</p> <div class="media align-items-center mt-auto"> <a class="avatar avatar-sm avatar-circle mr-3" href="/blog/author/henri/"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2022/05/Henri-copy-3.webp" alt="Henri Cook"> </a> <div class="media-body"> <span class="text-dark"> <a class="d-inline-block text-inherit font-weight-bold" href="/blog/author/henri/">Henri Cook</a> </span> <small class="d-block"><time datetime="2023-05-19">19 May 2023</time > <span class="bull">•</span> 2 min read</small> </div> </div> </div> </div> </article> <article class="row mb-7"> <div class="col-md-5"> <a href="/blog/increased-upload-limits/" class="card-img bg-img-hero article-list__image" style="background-image: url(/blog/content/images/size/w600/2023/02/astro.jpg);"></a> </div> <div class="col-md-7"> <div class="card-body d-flex flex-column h-100 px-0"> <span class="d-block mb-2"> <a class="font-weight-bold" href="/blog/tag/uploading/">Uploading</a>, <a class="font-weight-bold" href="/blog/tag/announcements/">Announcements</a> </span> <h3><a class="text-inherit" href="/blog/increased-upload-limits/">We're increasing the quotas for every Bytescale Plan, and here's why...</a></h3> <p>We're increasing our upload limits to make our service more accessible to developers building high-traffic and viral web apps.</p> <div class="media align-items-center mt-auto"> <a class="avatar avatar-sm avatar-circle mr-3" href="/blog/author/lawrence/"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2023/09/ProfileSquareMedium.jpg" alt="Lawrence Wagerfield"> </a> <div class="media-body"> <span class="text-dark"> <a class="d-inline-block text-inherit font-weight-bold" href="/blog/author/lawrence/">Lawrence Wagerfield</a> </span> <small class="d-block"><time datetime="2023-02-18">18 Feb 2023</time > <span class="bull">•</span> 2 min read</small> </div> </div> </div> </div> </article> <article class="row mb-7"> <div class="col-md-5"> <a href="/blog/cloudinary-vs-imgix/" class="card-img bg-img-hero article-list__image" style="background-image: url(/blog/content/images/size/w600/2022/06/comparison-team.webp);"></a> </div> <div class="col-md-7"> <div class="card-body d-flex flex-column h-100 px-0"> <span class="d-block mb-2"> <a class="font-weight-bold" href="/blog/tag/comparisons/">Comparisons</a> </span> <h3><a class="text-inherit" href="/blog/cloudinary-vs-imgix/">Cloudinary vs Imgix: What is the difference?</a></h3> <p>We compare Cloudinary vs Imgix in this guide. There are important factors to consider, such as features, CDN performance, and pricing, when making your decision...</p> <div class="media align-items-center mt-auto"> <a class="avatar avatar-sm avatar-circle mr-3" href="/blog/author/lawrence/"> <img class="avatar-img" src="https://blog.bytescale.com/content/images/2023/09/ProfileSquareMedium.jpg" alt="Lawrence Wagerfield"> </a> <div class="media-body"> <span class="text-dark"> <a class="d-inline-block text-inherit font-weight-bold" href="/blog/author/lawrence/">Lawrence Wagerfield</a> </span> <small class="d-block"><time datetime="2022-06-14">14 Jun 2022</time > <span class="bull">•</span> 12 min read</small> </div> </div> </div> </div> </article> <!-- Sticky Block End Point --> <div id="stickyBlockEndPoint"></div> </div> <div class="col-lg-3"> <div class="mb-7"> <div class="mb-3"> <h3>Newsletter</h3> </div> <form action="https://upload.us7.list-manage.com/subscribe/post?u=0496f6783586ddff17ba6b99e&id=9e1a799abc" method="post" name="mc-embedded-subscribe-form" class="mb-2" target="_blank"> <label class="sr-only" for="subscribeSr">Subscribe</label> <div class="input-group input-group-flush mb-3"> <input type="email" class="form-control form-control-sm" name="EMAIL" id="subscribeSr" placeholder="Your email" aria-label="Your email" required data-msg="Please enter a valid email address."> </div> <!-- real people should not fill this in and expect good things - do not remove this or risk form bot signups--> <div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="b_0496f6783586ddff17ba6b99e_9e1a799abc" tabindex="-1" value=""></div> <input type="submit" value="Subscribe" name="subscribe" class="btn btn-sm btn-primary btn-block"> </form> <p class="small">Get new posts from the Bytescale Blog delivered straight to your inbox.</p> </div> <!-- Sticky Block Start Point --> <div id="stickyBlockStartPoint"></div> <div class="js-sticky-block"> <div class="mb-7"> <div class="mb-3"> <h3>Tags</h3> </div> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/aws/">AWS</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/aws-lambda/">Lambda</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/aws-s3/">S3</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/uploading/">Uploading</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/comparisons/">Comparisons</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/announcements/">Announcements</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/digitalocean/">DigitalOcean</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/cloudflare/">Cloudflare</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/r2/">R2</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/releases/">Releases</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/features/">Features</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/security/">Security</a> <a class="btn btn-xs btn-soft-secondary mb-1" href="/blog/tag/image-processing/">Image Processing</a> </div> </div> </div> </div> <!-- Pagination --> <nav aria-label="Page navigation"> <ul class="pagination"> <li class="page-item disabled"> <span class="page-link">Page 1 of 2</span> </li> <li class="page-item"> <a class="page-link" href="/blog/page/2/" aria-label="Next"> <span aria-hidden="true">禄</span> <span class="sr-only">Next</span> </a> </li> </ul> </nav> <!-- End Pagination --> </div> <!-- End Blogs Section --> </main> <footer class="bg-dark main-dark-footer dark-parent page-footer"> <div class="container"> <div class="space-top-2 space-bottom-1"> <div class="row justify-content-lg-between"> <div class="col-lg-3 ml-lg-auto mb-5 mb-lg-0"> <div> <div class="mb-4"> <a aria-label="Bytescale" href="/"> <svg viewBox="0 0 3248.70051 859.447344" version="1.1" xmlns="http://www.w3.org/2000/svg" style="width:120px;height:31.746133865691426px"> <g fill-rule="nonzero" fill="none"> <g class="white-if-dark-parent" fill="#37F"> <path d="M313.426379 834.508566 59.205788 699.446937c-48.8786163-28.422945-71.0148095-87.3111-52.96241233-140.894086 9.43289703-28.2389 30.49168943-45.010269 56.29697153-59.970878l50.3813508-28.134629 247.445851 137.790174 338.181496-188.78266c7.233532-4.037966 16.370886-1.447448 20.408852 5.786083 1.247581 2.234893 1.902532 4.751852 1.902532 7.311385v168.719371c0 39.654626-21.088833 76.275072-55.455821 95.952178L407.298246 834.488866c-29.343237 15.605192-64.522082 15.612574-93.871867.0197ZM407.434051 24.938778l254.220591 135.061629c48.8786163 28.422945 71.0148095 87.3111 52.96241233 140.894086-9.43289703 28.2389-30.49168943 45.010269-56.29697153 59.9708776l-50.3813508 28.1346297L360.492881 251.209826 22.311385 439.9924862c-7.233532 4.03796597-16.370886 1.447448-20.408852-5.7860837-1.247581-2.2348929-1.902532-4.7518516-1.902532-7.3113841V258.175647c0-39.654626 21.088833-76.275072 55.455821-95.952178L313.562184 24.958478c29.343237-15.605192 64.522082-15.612574 93.871867-.0197Z"></path> </g> <g class="white-if-dark-parent" fill="#000"> <path d="M981.628928 608V243.8853788h168.836637c29.908173 0 53.434234 8.5203516 70.578181 25.561055 17.143948 17.0407034 25.715921 39.6973401 25.715921 67.9699102 0 18.328537-3.094604 33.066626-9.283814 44.214267-6.18921 11.147642-14.258548 19.329733-24.208014 24.546275-9.949467 5.216542-20.518398 8.275826-31.706794 9.177853v3.129926c8.080206.103244 16.635878 1.745639 25.667016 4.927186 9.031138 3.181547 17.590886 8.076131 25.679242 14.683751 8.088357 6.607619 14.689185 15.311365 19.802482 26.111237 5.113298 10.799872 7.669947 23.972998 7.669947 39.51938 0 19.333808-4.086291 36.877147-12.258873 52.630016-8.172582 15.75287-19.301205 28.298381-33.385868 37.636535-14.084663 9.338153-30.169 14.00723-48.253012 14.00723H981.628928Zm68.825749-155.778981v97.312958h96.212594c8.596426 0 16.006904-1.559529 22.231434-4.678586 6.22453-3.119058 11.034888-7.626476 14.431074-13.522255 3.396186-5.895779 5.094279-13.09026 5.094279-21.583442v-17.736242c0-8.493182-1.698093-15.687663-5.094279-21.583442-3.396186-5.895779-8.206544-10.404556-14.431074-13.52633-6.22453-3.121774-13.635008-4.682661-22.231434-4.682661h-96.212594Zm0-149.8696173v93.1886293h85.233403c8.292128 0 15.420044-1.509265 21.383746-4.527795 5.963703-3.01853 10.532253-7.407761 13.705649-13.167693 3.173396-5.759931 4.760094-12.682717 4.760094-20.768357v-16.260939c0-8.08564-1.586698-15.008426-4.760094-20.7683573-3.173396-5.7599316-7.741946-10.1491625-13.705649-13.1676927-5.963702-3.0185302-13.091618-4.5277953-21.383746-4.5277953h-85.233403ZM1434.198093 479.632316l47.552039-144.115119h62.916385l-109.840809 320.735815c-4.314515 12.987015-9.677772 23.627946-16.089771 31.922791-6.412 8.294844-14.546545 14.394395-24.403635 18.29865-9.857091 3.904256-22.251811 5.856384-37.184162 5.856384h-40.14292v-53.062012h48.872476l12.625662-38.260074-97.370014-285.491554h66.372344l47.397173 144.115119 17.671036 68.825749h2.975059l18.649137-68.825749ZM1716.906065 608h-47.747659c-22.844106 0-40.297786-6.012608-52.361039-18.037824-12.063253-12.025216-18.094879-29.128409-18.094879-51.30958V388.579208h-40.297786v-53.062011h20.996581c10.030975 0 16.880403-2.316199 20.548284-6.948597 3.667881-4.632398 5.501822-11.5918625 5.501822-20.8783938v-46.4027699h59.990231v74.2297607h55.637679v53.062011h-55.637679v166.35878h51.464445V608ZM1883.119177 614.25985c-26.79455 0-49.785371-5.825139-68.972464-17.475415-19.187093-11.650277-33.884428-28.178836-44.092005-49.585676s-15.311366-46.61605-15.311366-75.62763c0-28.761621 4.981526-53.78472 14.944578-75.069298 9.963051-21.284577 24.353371-37.813136 43.170959-49.585675 18.817588-11.77254 41.501394-17.65881 68.051418-17.65881 28.413852 0 51.742933 6.263926 69.987245 18.791777 18.244312 12.527852 31.816826 29.193616 40.717556 49.997294 8.90072 20.803677 13.35109 43.654576 13.35109 68.552695v22.031739h-181.030309v6.634789c0 19.621805 5.571104 35.453466 16.713311 47.494983 11.142208 12.041518 27.64088 18.062276 49.496017 18.062276 16.546218 0 30.185302-3.508939 40.91725-10.526818 10.731948-7.017879 20.189647-15.794982 28.373097-26.33131l35.985984 40.142919c-11.14492 15.13884-26.362551 27.282243-45.652888 36.43021-19.290337 9.147966-41.506828 13.72195-66.649473 13.72195Zm-1.100364-234.605819c-11.769823 0-22.008645 2.68027-30.716466 8.04081s-15.445854 12.80498-20.2141 22.33332c-4.768245 9.52834-7.152368 20.644736-7.152368 33.349189v4.018368h111.528035v-4.996469c0-12.568606-2.036353-23.538287-6.10906-32.909044-4.072706-9.370756-10.090748-16.686141-18.054125-21.946154-7.963377-5.260013-17.724016-7.89002-29.281916-7.89002ZM2149.210308 614.25985c-25.91969 0-47.76667-4.413684-65.54095-13.241051-17.77428-8.827366-33.48368-21.117485-47.1282-36.870354l40.76238-39.441947c9.94404 11.394883 20.98164 20.375758 33.11282 26.942623 12.13118 6.566866 25.98354 9.850299 41.55709 9.850299 16.01913 0 27.57431-2.783515 34.66555-8.350543 7.09124-5.567028 10.63686-13.222032 10.63686-22.96501 0-7.976962-2.5322-14.319679-7.59659-19.028152-5.0644-4.708472-13.64452-7.913113-25.74038-9.613923l-27.27273-3.496713c-19.29034-2.678912-35.72652-7.316744-49.30855-13.913496-13.58202-6.596752-23.86703-15.566758-30.85503-26.91002-6.98799-11.343261-10.48199-25.239096-10.48199-41.687505 0-26.533723 9.43597-47.546605 28.3079-63.038648 18.87192-15.492042 43.88415-23.238064 75.03669-23.238064 17.79058 0 33.01229 1.677716 45.66512 5.033148 12.65283 3.355432 23.8059 8.250015 33.45922 14.68375s18.74559 14.171606 27.27681 23.213612l-39.41749 39.384891c-7.87372-8.596427-17.36538-15.671362-28.47499-21.224805-11.1096-5.553444-23.27474-8.330165-36.49541-8.330165-14.09553 0-24.50009 2.57295-31.21367 7.718851-6.71358 5.145902-10.07037 12.068687-10.07037 20.768358 0 8.944195 2.71831 15.724341 8.15492 20.340437 5.43662 4.616097 14.53975 7.945717 27.30941 9.988863l27.85145 3.871652c29.90817 4.026518 52.04179 12.754717 66.40087 26.184595 14.35907 13.429878 21.53861 31.507098 21.53861 54.231658 0 17.388473-4.61202 32.832969-13.83606 46.333488-9.22404 13.500519-22.23279 24.009677-39.02625 31.527475-16.79347 7.517797-36.55248 11.276696-59.27704 11.276696ZM2423.700768 614.25985c-40.11304 0-71.05637-12.876979-92.82999-38.630938-21.77363-25.753958-32.66045-60.439886-32.66045-104.057783 0-43.612464 10.88682-78.234543 32.66045-103.866239 21.77362-25.631696 52.71695-38.447544 92.82999-38.447544 27.51726 0 50.24453 6.156607 68.18183 18.469819 17.9373 12.313212 30.85639 29.158295 38.75728 50.535249l-54.44766 24.35473c-3.15166-11.460091-9.09091-20.893337-17.81775-28.29974-8.72684-7.406402-20.28474-11.109604-34.6737-11.109604-18.31224 0-32.16053 5.848233-41.54487 17.544698-9.38434 11.696465-14.07651 27.162696-14.07651 46.398694v49.5816c0 18.888229 4.69217 34.267518 14.07651 46.137868 9.38434 11.870349 23.23263 17.805524 41.54487 17.805524 15.81807 0 28.15846-4.12297 37.02114-12.36891 8.86269-8.24594 15.71755-18.424989 20.56459-30.537147l51.21992 24.387334c-8.93876 24.034129-22.68924 42.059727-41.25144 54.076792-18.56219 12.017064-41.08026 18.025597-67.55421 18.025597ZM2817.215068 608h-37.0782c-9.90599 0-18.76596-2.347444-26.57991-7.042332-7.81394-4.694888-13.89855-11.52258-18.25382-20.483077-4.35527-8.960498-6.5329-19.564749-6.5329-31.812755v-5.860459l16.53807 18.437215h-18.62469c-4.58077 17.3287-13.92436 30.497752-28.03076 39.507154-14.1064 9.009403-31.28295 13.514104-51.52965 13.514104-27.78352 0-49.15776-7.36429-64.12271-22.09287-14.96496-14.72858-22.44743-34.123519-22.44743-58.184819 0-18.752381 4.60251-34.260725 13.80753-46.525032 9.20502-12.264307 22.48547-21.500575 39.84134-27.708803 17.35587-6.208229 38.33886-9.312343 62.94899-9.312343h46.22345v-19.985876c0-14.95952-3.98984-26.684513-11.96952-35.174978-7.97968-8.490466-20.91371-12.735698-38.80211-12.735698-15.50291 0-28.08374 3.405695-37.74249 10.217086-9.65875 6.811391-17.64794 14.955445-23.96757 24.432163l-39.75168-35.611049c9.99838-15.731134 23.36441-28.383965 40.09809-37.958493 16.73369-9.574528 38.74234-14.361792 66.02594-14.361792 36.75488 0 64.75168 8.427976 83.9904 25.283927 19.23871 16.855951 28.85807 40.89008 28.85807 72.102389v128.294326h27.10156V608Zm-93.84069-117.437399h-42.79195c-17.51888 0-30.61594 2.863664-39.29115 8.590993-8.67522 5.727328-13.01283 14.09553-13.01283 25.104607v8.75401c0 10.759117 3.64207 18.933058 10.92621 24.521822 7.28414 5.588764 17.33278 8.383145 30.14591 8.383145 10.23203 0 19.36369-1.499755 27.39499-4.499267 8.0313-2.999511 14.47726-7.440364 19.33789-13.322559 4.86062-5.882194 7.29093-13.099769 7.29093-21.652724v-35.880027ZM2969.876288 608h-35.56214c-22.84411 0-39.74625-5.740913-50.70642-17.222739-10.96017-11.481826-16.44026-27.650389-16.44026-48.505689V221.975903h66.73913v332.962085h35.96969V608ZM3126.853498 614.25985c-26.79455 0-49.78537-5.825139-68.97246-17.475415-19.18709-11.650277-33.88443-28.178836-44.092-49.585676-10.20758-21.40684-15.31137-46.61605-15.31137-75.62763 0-28.761621 4.98153-53.78472 14.94458-75.069298 9.96305-21.284577 24.35337-37.813136 43.17096-49.585675 18.81758-11.77254 41.50139-17.65881 68.05142-17.65881 28.41385 0 51.74293 6.263926 69.98724 18.791777 18.24431 12.527852 31.81683 29.193616 40.71755 49.997294 8.90073 20.803677 13.35109 43.654576 13.35109 68.552695v22.031739h-181.0303v6.634789c0 19.621805 5.5711 35.453466 16.71331 47.494983 11.14221 12.041518 27.64088 18.062276 49.49601 18.062276 16.54622 0 30.18531-3.508939 40.91725-10.526818 10.73195-7.017879 20.18965-15.794982 28.3731-26.33131l35.98599 40.142919c-11.14492 15.13884-26.36256 27.282243-45.65289 36.43021-19.29034 9.147966-41.50683 13.72195-66.64948 13.72195Zm-1.10036-234.605819c-11.76982 0-22.00864 2.68027-30.71647 8.04081-8.70782 5.36054-15.44585 12.80498-20.2141 22.33332-4.76824 9.52834-7.15236 20.644736-7.15236 33.349189v4.018368h111.52803v-4.996469c0-12.568606-2.03635-23.538287-6.10906-32.909044-4.0727-9.370756-10.09075-16.686141-18.05412-21.946154-7.96338-5.260013-17.72402-7.89002-29.28192-7.89002Z"></path> </g> </g> </svg> </a> </div> <ul class="nav nav-sm nav-x-0 nav-white flex-column"> <li class="nav-item"><a class="nav-link media" href="/contact"><span class="media"><span class="fas fa-location-arrow mt-1 mr-2"></span><span class="media-body"> 1 Canada Square, 37th Floor, London, United Kingdom </span></span></a></li> <li class="nav-item"> <a class="nav-link media" href="mailto:hello@bytescale.com"> <span class="media"> <span class="fas fa-envelope mt-1 mr-2"></span> <span class="media-body"> hello@bytescale.com </span> </span> </a> </li> </ul> </div> </div> <div class="col-6 col-md-3 col-lg mb-5 mb-lg-0"> <h5>Company</h5> <ul class="nav nav-sm nav-x-0 nav-white flex-column"> <li class="nav-item"><a class="nav-link" href="/about">About</a></li> <li class="nav-item"><a class="nav-link" href="https://www.bytescale.com/blog/">Blog</a></li> <li class="nav-item"><a class="nav-link" href="/careers">Careers <span class="badge badge-primary ml-1">We're hiring</span></a></li> <li class="nav-item"><a class="nav-link" href="/comparisons">Compare</a></li> <li class="nav-item"><a class="nav-link" href="/contact">Support</a></li> <li class="nav-item"><a class="nav-link" href="/sla">SLA</a></li> </ul> </div> <div class="col-6 col-md-3 col-lg mb-5 mb-lg-0"> <h5><a href="/docs/file-processing-apis">Media Processing APIs</a></h5> <ul class="nav nav-sm nav-x-0 nav-white flex-column"> <li class="nav-item"><a class="nav-link" href="/docs/image-processing-api">Image Processing API</a></li> <li class="nav-item"><a class="nav-link" href="/docs/video-processing-api">Video Processing API</a></li> <li class="nav-item"><a class="nav-link" href="/docs/audio-processing-api">Audio Processing API</a></li> </ul> <h5 class="mt-3"><a href="/file-upload-api">File Upload API</a></h5> <ul class="nav nav-sm nav-x-0 nav-white flex-column"> <li class="nav-item"><a class="nav-link" href="/image-upload-api">Image Upload API</a></li> <li class="nav-item"><a class="nav-link" href="/video-upload-api">Video Upload API</a></li> <li class="nav-item"><a class="nav-link" href="/audio-upload-api">Audio Upload API</a></li> </ul> </div> <div class="col-6 col-md-3 col-lg mb-5 mb-lg-0"> <h5><a href="/docs/sdks">Bytescale SDKs</a></h5> <ul class="nav nav-sm nav-x-0 nav-white flex-column"> <li class="nav-item"><a class="nav-link" href="/docs/sdks/javascript">JavaScript SDK</a></li> <li class="nav-item"><a class="nav-link" href="/docs/sdks/node-js">Node.js SDK</a></li> </ul> <h5 class="mt-3">Bytescale UI Widgets</h5> <ul class="nav nav-sm nav-x-0 nav-white flex-column"> <li class="nav-item"><a class="nav-link" href="/docs/upload-widget">JavaScript Upload Widget</a></li> <li class="nav-item"><a class="nav-link" href="/docs/upload-widget/react">React Upload Widget</a></li> <li class="nav-item"><a class="nav-link" href="/docs/upload-widget/angular">Angular Upload Widget</a></li> <li class="nav-item"><a class="nav-link" href="/docs/upload-widget/vue">Vue Upload Widget</a></li> <li class="nav-item"><a class="nav-link" href="/docs/upload-widget/jquery">jQuery Upload Widget</a></li> </ul> </div> <div class="col-6 col-md-3 col-lg mb-5 mb-lg-0"> <h5>Bytescale CDN</h5> <ul class="nav nav-sm nav-x-0 nav-white flex-column"> <li class="nav-item"><a class="nav-link" href="/docs/cdn">CDN Architecture</a></li> <li class="nav-item"><a class="nav-link" href="/docs/cdn/permanent-cache">Permanent Cache</a></li> <li class="nav-item"><a class="nav-link" href="/docs/cdn/edge-cache">Edge Cache</a></li> <li class="nav-item"><a class="nav-link" href="/image-cdn">Image CDN</a></li> <li class="nav-item"><a class="nav-link" href="/video-cdn">Video CDN</a></li> <li class="nav-item"><a class="nav-link" href="/audio-cdn">Audio CDN</a></li> </ul> </div> </div> <div class="d-sm-flex align-items-center pb-3 pb-md-0 pt-3 pt-md-7 justify-content-between"><div class="d-block d-sm-flex justify-content-sm-center justify-content-md-start dark-btn-container"><a class="btn btn-sm btn-primary flex-grow-1 flex-md-grow-0 d-block d-sm-inline-block" href="/get-started">Try for Free</a><a class="btn btn-sm btn-outline-secondary flex-grow-1 flex-md-grow-0 mt-3 mt-sm-0 ml-sm-3 d-block d-sm-inline-block" href="/contact">Contact Sales</a></div><div class="d-flex align-items-center justify-content-center mt-7 mt-sm-0"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2OSIgaGVpZ2h0PSI2OSI+PGcgZmlsbD0iI0ZGRiIgZmlsbC1ydWxlPSJub256ZXJvIj48cGF0aCBkPSJtMzQuNSAwIDEuMTE4IDMuNjE3aDMuNjE3bC0yLjkyNiAyLjIzNiAxLjExOCAzLjYxOEwzNC41IDcuMjM0bC0yLjkyNiAyLjIzNyAxLjExOC0zLjYxOC0yLjkyNy0yLjIzNmgzLjYxN3pNMzQuNSA1OS41MjlsMS4xMTggMy42MTloMy42MTdsLTIuOTI2IDIuMjM1TDM3LjQyNyA2OSAzNC41IDY2Ljc2NSAzMS41NzQgNjlsMS4xMTgtMy42MTctMi45MjctMi4yMzVoMy42MTd6TTQ5LjM4MiA1LjQxMiA1MC41IDkuMDI5aDMuNjE4bC0yLjkyNyAyLjIzNyAxLjExOCAzLjYxNi0yLjkyNy0yLjIzNi0yLjkyNyAyLjIzNiAxLjExOC0zLjYxNi0yLjkyNi0yLjIzN2gzLjYxOHpNNjEuNTU5IDE1LjY3MmwxLjExNyAzLjYxN2gzLjYxOGwtMi45MjcgMi4yMzYgMS4xMTggMy42MTctMi45MjYtMi4yMzUtMi45MjcgMi4yMzUgMS4xMTgtMy42MTctMi45MjYtMi4yMzZoMy42MTZ6TTYxLjU1OSA0NC42NDdsMS4xMTcgMy42MTloMy42MThsLTIuOTI3IDIuMjM1IDEuMTE5IDMuNjE3LTIuOTI3LTIuMjM1LTIuOTI3IDIuMjM1IDEuMTE4LTMuNjE3LTIuOTI2LTIuMjM1aDMuNjE3ek03LjQ0MiAxNS42NzJsMS4xMTcgMy42MTdoMy42MTdMOS4yNSAyMS41MjVsMS4xMTcgMy42MTctMi45MjUtMi4yMzUtMi45MjggMi4yMzUgMS4xMTgtMy42MTctMi45MjYtMi4yMzZoMy42MTh6TTY0LjI2NSAyOS43NjVsMS4xMTcgMy42MTdINjlsLTIuOTI3IDIuMjM1IDEuMTE4IDMuNjE4LTIuOTI2LTIuMjM0LTIuOTI3IDIuMjM0IDEuMTE5LTMuNjE4LTIuOTI4LTIuMjM1aDMuNjE3ek00LjczNiAyOS43NjVsMS4xMTcgMy42MTdoMy42MThsLTIuOTI3IDIuMjM1IDEuMTE4IDMuNjE4LTIuOTI2LTIuMjM0LTIuOTI3IDIuMjM0IDEuMTE4LTMuNjE4TDAgMzMuMzgyaDMuNjE4ek03LjQ0MiA0NC42NDdsMS4xMTcgMy42MTloMy42MTdMOS4yNSA1MC41MDFsMS4xMTcgMy42MTctMi45MjUtMi4yMzUtMi45MjcgMi4yMzUgMS4xMTgtMy42MTctMi45MjctMi4yMzVoMy42MTh6TTUyLjA4OSA1Ni44MjRsMS4xMTcgMy42MTZoMy42MThsLTIuOTI4IDIuMjM3IDEuMTE5IDMuNjE3LTIuOTI2LTIuMjM1LTIuOTI4IDIuMjM1IDEuMTE5LTMuNjE3LTIuOTI3LTIuMjM3aDMuNjE4ek0xOS42MTggNS40MTJsMS4xMTcgMy42MTdoMy42MThsLTIuOTI3IDIuMjM3IDEuMTE5IDMuNjE2LTIuOTI3LTIuMjM2LTIuOTI3IDIuMjM2IDEuMTE4LTMuNjE2LTIuOTI3LTIuMjM3SDE4LjV6TTE2LjkxMSA1Ni44MjRsMS4xMTggMy42MThoMy42MThsLTIuOTI3IDIuMjM1IDEuMTE4IDMuNjE3LTIuOTI3LTIuMjM0LTIuOTI2IDIuMjM0IDEuMTE4LTMuNjE3LTIuOTI3LTIuMjM1aDMuNjE4ek0yNS43NTMgMzYuOTAzYTEuNTAyIDEuNTAyIDAgMCAwLS4xODctLjQyNCAxLjI1NiAxLjI1NiAwIDAgMC0uNjkzLS41MTcgMS42OCAxLjY4IDAgMCAwLS40OS0uMDY4Yy0uMzQgMC0uNjM3LjA4Ny0uODkyLjI2MWExLjY4NiAxLjY4NiAwIDAgMC0uNTkzLjc1OWMtLjE0MS4zMzItLjIxMi43MzUtLjIxMiAxLjIxIDAgLjQ3OC4wNy44ODUuMjA3IDEuMjIuMTM5LjMzNS4zMzUuNTkuNTkuNzY1LjI1NS4xNzUuNTU4LjI2My45MS4yNjMuMzE2IDAgLjU4Ni0uMDU3LjgxLS4xNzIuMjIzLS4xMTUuMzk0LS4yNzguNTEyLS40ODkuMTE4LS4yMS4xNzctLjQ2LjE3Ny0uNzQ1bC4yOTMuMDQxaC0xLjcxdi0xLjE0aDIuODM4di44OTNjMCAuNjE1LS4xMjYgMS4xNDMtLjM3NyAxLjU4NWEyLjU4NSAyLjU4NSAwIDAgMS0xLjAzOCAxLjAyYy0uNDQuMjM3LS45NDUuMzU2LTEuNTE0LjM1Ni0uNjM1IDAtMS4xOTItLjE0NS0xLjY3Mi0uNDM0YTIuOTQ5IDIuOTQ5IDAgMCAxLTEuMTIyLTEuMjM3Yy0uMjY4LS41MzUtLjQwMi0xLjE3MS0uNDAyLTEuOTA4IDAtLjU2OS4wOC0xLjA3NS4yNDEtMS41Mi4xNi0uNDQ0LjM4NS0uODIuNjc0LTEuMTNhMi45IDIuOSAwIDAgMSAxLjAxLS43MDUgMy4xOSAzLjE5IDAgMCAxIDEuMjQ0LS4yNDJjLjM4NCAwIC43NDEuMDU4IDEuMDcyLjE3Mi4zMy4xMTUuNjI0LjI3OC44ODEuNDg4YTIuNTg4IDIuNTg4IDAgMCAxIC45MzggMS42OTloLTEuNDk1Wk0zMS4wMDEgNDEuNjI1aC0yLjQxMnYtNi45ODRoMi40MjdjLjY4IDAgMS4yNjQuMTQgMS43NTYuNDE4LjQ5LjI3OC44Ny42NzggMS4xMzUgMS4xOTlzLjM5OCAxLjE0NC4zOTggMS44N2MwIC43MjgtLjEzMyAxLjM1My0uMzk4IDEuODc2YTIuODEgMi44MSAwIDAgMS0xLjE0IDEuMjAyYy0uNDkzLjI4LTEuMDgyLjQyLTEuNzY2LjQyWm0tLjkzOS0xLjMwOGguODc4Yy40MTIgMCAuNzU4LS4wNzUgMS4wNC0uMjI1LjI4MS0uMTUuNDk0LS4zODcuNjM3LS43MDguMTQ0LS4zMjIuMjE2LS43NC4yMTYtMS4yNTYgMC0uNTEzLS4wNzItLjkzLS4yMTctMS4yNWExLjQzMiAxLjQzMiAwIDAgMC0uNjM4LS43MDVjLS4yOC0uMTUtLjYyOC0uMjI0LTEuMDQtLjIyNGgtLjg3NnY0LjM2OFpNMzUuNTYzIDQxLjYyNXYtNi45ODRoMi42ODZjLjUxIDAgLjk0Ni4xIDEuMzA4LjMwMy4zNjEuMjAyLjYzOC40ODEuODMuODQuMTkyLjM1Ny4yODguNzY5LjI4OCAxLjIzNSAwIC40Ny0uMDk3Ljg4MS0uMjkzIDEuMjM3YTIuMDUgMi4wNSAwIDAgMS0uODQ0LjgzMWMtLjM2Ny4xOTgtLjgxLjI5Ny0xLjMyNy4yOTdoLTEuN3YtMS4yMmgxLjQ1MmMuMjY3IDAgLjQ4OC0uMDQ3LjY2NC0uMTQ0YS45NDMuOTQzIDAgMCAwIC4zOTYtLjQwM2MuMDg4LS4xNzIuMTMzLS4zNzEuMTMzLS41OTggMC0uMjI4LS4wNDUtLjQyNy0uMTMzLS41OTZhLjkyNC45MjQgMCAwIDAtLjM5OC0uMzk1Yy0uMTc2LS4wOTQtLjM5OS0uMTQxLS42NjctLjE0MWgtLjkyMXY1LjczOGgtMS40NzRaTTQxLjgwNCA0MS42MjV2LTYuOTg0aDIuNjg2Yy41MSAwIC45NDUuMDk0IDEuMzA3LjI4MS4zNjIuMTg4LjYzOS40NTMuODMuNzk3LjE5My4zNDMuMjg5Ljc0OC4yODkgMS4yMTQgMCAuNDctLjA5OC44NzEtLjI5NCAxLjIwNi0uMTk1LjMzNC0uNDc3LjU5LS44NDUuNzY3LS4zNjcuMTc3LS44MDkuMjY1LTEuMzI1LjI2NWgtMS43NzR2LTEuMjI0aDEuNTI2Yy4yNjUgMCAuNDg2LS4wMzcuNjYzLS4xMTFhLjgxLjgxIDAgMCAwIC4zOTctLjMzOCAxLjEgMS4xIDAgMCAwIC4xMzItLjU2NWMwLS4yMjgtLjA0NC0uNDItLjEzMy0uNTc1YS44NC44NCAwIDAgMC0uMzk4LS4zNTIgMS42MjcgMS42MjcgMCAwIDAtLjY2Ni0uMTJoLS45MjJ2NS43NGgtMS40NzNabTMuNjc1LTMuMTgxIDEuNjc0IDMuMTgxaC0xLjYyMWwtMS42NC0zLjE4MWgxLjU4N1pNMTkuNzEzIDQ2Ljk1MWgtLjcyNWExLjE2MiAxLjE2MiAwIDAgMC0uMTQ4LS40MDQgMS4wOTIgMS4wOTIgMCAwIDAtLjYxNS0uNDgxIDEuMzQ3IDEuMzQ3IDAgMCAwLS40MTMtLjA2MmMtLjI2MiAwLS40OTcuMDY4LS43MDMuMjA0YTEuMzcxIDEuMzcxIDAgMCAwLS40ODguNmMtLjExOC4yNjQtLjE3OC41ODctLjE3OC45NjggMCAuMzg0LjA2LjcwOC4xNzkuOTcyLjExOS4yNjMuMjgyLjQ2My40ODguNTk4LjIwNi4xMzQuNDQuMjAyLjcuMjAyLjE0NCAwIC4yOC0uMDIuNDEtLjA2YTEuMDg3IDEuMDg3IDAgMCAwIC42MTYtLjQ3M2MuMDczLS4xMTcuMTIzLS4yNS4xNTItLjRsLjcyNS4wMDNjLS4wMzUuMjM0LS4xMDcuNDQ5LS4yMTQuNjQ1YTEuODIyIDEuODIyIDAgMCAxLS45ODUuODQ2IDIuMDYzIDIuMDYzIDAgMCAxLS43MS4xMThjLS40IDAtLjc1Ni0uMDk4LTEuMDY5LS4yOTRhMi4wMTYgMi4wMTYgMCAwIDEtLjczOC0uODQ0Yy0uMTgtLjM2Ni0uMjctLjgwNC0uMjctMS4zMTMgMC0uNTEuMDktLjk0OC4yNzEtMS4zMTQuMTgtLjM2Ny40MjgtLjY0OC43NC0uODQ0YTEuOTYzIDEuOTYzIDAgMCAxIDEuMDY2LS4yOTRjLjI0NiAwIC40NzYuMDM2LjY5LjExYTEuNzYyIDEuNzYyIDAgMCAxIC45OTYuODNjLjExMS4yLjE4NS40My4yMjMuNjg3Wk0yNC42MDMgNDcuNzc2YzAgLjUxLS4wOS45NDgtLjI3MiAxLjMxNGEyLjAyNCAyLjAyNCAwIDAgMS0uNzQxLjg0MyAxLjk3IDEuOTcgMCAwIDEtMS4wNjguMjk0Yy0uMzk5IDAtLjc1NS0uMDk4LTEuMDY4LS4yOTRhMi4wMjYgMi4wMjYgMCAwIDEtLjc0Mi0uODQ0Yy0uMTgtLjM2Ni0uMjctLjgwNC0uMjctMS4zMTMgMC0uNTEuMDktLjk0OC4yNy0xLjMxNC4xODEtLjM2Ny40MjgtLjY0OC43NDItLjg0NC4zMTMtLjE5Ni42NjktLjI5NCAxLjA2OC0uMjk0LjM5OCAwIC43NTQuMDk4IDEuMDY4LjI5NC4zMTMuMTk2LjU2LjQ3Ny43NDEuODQ0LjE4MS4zNjYuMjcyLjgwNC4yNzIgMS4zMTRabS0uNzE2IDBjMC0uMzgzLS4wNi0uNzA3LS4xNzgtLjk3YTEuMzYyIDEuMzYyIDAgMCAwLS40ODYtLjYgMS4yNDUgMS4yNDUgMCAwIDAtLjcwMS0uMjAyYy0uMjYyIDAtLjQ5NS4wNjctLjcwMS4yMDNhMS4zNjIgMS4zNjIgMCAwIDAtLjQ4Ni41OTljLS4xMTkuMjYzLS4xNzguNTg3LS4xNzguOTdzLjA2LjcwNi4xNzguOTdjLjExOC4yNjMuMjguNDYzLjQ4Ni41OTguMjA2LjEzNi40NC4yMDQuNzAxLjIwNC4yNjIgMCAuNDk1LS4wNjguNzAxLS4yMDQuMjA2LS4xMzUuMzY4LS4zMzUuNDg2LS41OTguMTE5LS4yNjQuMTc4LS41ODcuMTc4LS45N1pNMjUuNTAyIDQ1LjM5aC44NzVsMS40NDggMy42NjNoLjA1NGwxLjQ0Ny0zLjY2NGguODc2djQuNzczaC0uNjg3VjQ2Ljc0aC0uMDQzbC0xLjM0IDMuNDEzaC0uNTZsLTEuMzQtMy40MTdoLS4wNDN2My40MjZoLS42ODd6TTMxLjI0MyA1MC4xNjJ2LTQuNzczSDMyLjljLjM1NyAwIC42NTMuMDY4Ljg5LjIwNC4yMzYuMTM1LjQxMy4zMi41MzEuNTU1LjExOS4yMzQuMTc4LjQ5OC4xNzguNzkzIDAgLjI5Ni0uMDYuNTYtLjE3OC43OTYtLjExOS4yMzQtLjI5Ny40Mi0uNTM0LjU1NS0uMjM3LjEzNi0uNTM0LjIwNC0uODkuMjA0aC0xLjEzMnYtLjYzaDEuMDU4Yy4yMjQgMCAuNDA1LS4wNC41NDQtLjEyYS43MzUuNzM1IDAgMCAwIC4zMDctLjMzYy4wNjUtLjEzOC4wOTgtLjI5Ny4wOTgtLjQ3NXMtLjAzMy0uMzM2LS4wOTgtLjQ3NGEuNzE2LjcxNiAwIDAgMC0uMzA5LS4zMjRjLS4xNC0uMDc5LS4zMjMtLjExOC0uNTQ5LS4xMThoLS44NTJ2NC4xMzdoLS43MjFaTTM1LjM0MyA1MC4xNjJWNDUuMzloLjcyMXY0LjEzNGgyLjA3M3YuNjR6TTM5LjY4NiA0NS4zOXY0Ljc3MmgtLjcyVjQ1LjM5ek00MS4xNTQgNTAuMTYyaC0uNzY1bDEuNjUtNC43NzNoLjg0M2wxLjY1IDQuNzczaC0uNzY2bC0xLjI4OC0zLjg4NWgtLjAzNmwtMS4yODggMy44ODVabS4xMDUtMS44NjloMi4zOTh2LjYyMWgtMi4zOTh2LS42MlpNNDguOTYzIDQ1LjM5djQuNzcyaC0uNjU5bC0yLjMwOC0zLjQ1NWgtLjA0djMuNDU1aC0uNzIyVjQ1LjM5aC42NjNsMi4zMSAzLjQ2aC4wNDF2LTMuNDZ6TTQ5Ljc4MSA0Ni4wMjd2LS42MzhoMy41ODJ2LjYzOGgtMS40MzJ2NC4xMzVoLS43MTd2LTQuMTM1ek0zOC4wMzYgMjIuMzc1aC0uNDgydi0xLjQwNmMwLTEuNjM3LTEuMzctMi45NjktMy4wNTQtMi45NjktMS42ODMgMC0zLjA1NCAxLjMzMi0zLjA1NCAyLjk2OXYxLjQwNmgtLjQ4MmEuOTUxLjk1MSAwIDAgMC0uOTY0LjkzOHYzLjc1YzAgLjUxNy40MzIuOTM3Ljk2NC45MzdoNy4wNzJjLjUzMiAwIC45NjQtLjQyLjk2NC0uOTM4di0zLjc1YS45NTEuOTUxIDAgMCAwLS45NjQtLjkzN1ptLTIuMDkgMGgtMi44OTJ2LTEuNDA2YzAtLjc3Ni42NDgtMS40MDcgMS40NDYtMS40MDcuNzk4IDAgMS40NDYuNjMxIDEuNDQ2IDEuNDA3djEuNDA2WiIvPjwvZz48L3N2Zz4K" alt="GDPR Compliant" title="GDPR Compliant" width="76" class="mr-4"><img src="data:image/webp;base64,UklGRrYfAABXRUJQVlA4WAoAAAAQAAAApAAApAAAQUxQSKEEAAABB6egbRvpnOOP+ocQETn85StHHiF7zqnsU85kTfkpFPmNIKYtZ1ZekC3btmk749qMrYvYtm3btm3btm1cI7adqzP/JedsrjWeI/o/AVBmeO12PYeOnb5ozc7d65bOmjC8d4eGsSDSr0LHiRsuvfSIlR9ubp/aLSFQe351p5z+Lrb/uzG/RZC+kscf/SyO/XVhRqMADSUufi6O/7yxsV6Kjb8vLs2eW1EXAb2P54mLPTdGRmggeNRTcf2nuTGKC5v0WpT4bUlxhUXN/CDK/LW6jKICJn8Vpf5bGamiZqmi3Df9lVN8l0dUfClRKf6jv4ii8xaHqaPqfVH4sxaq6P9dlF44208FIZtF+RdKuC8hRTT4tpXbBv4QLRbO9XfVMtHmsVD3BOwSjd6McUvYSdFqaml3xN4WzT5LcEOZdNHuxwbOq/BCNPyzudOKZYqWv9Z0VsR90fSbCk4KOi/azizmHL99ovEHEY5ZJVo/H+SQcaL5bc6o9093MsgJUbmi/R8JDjgkBKaE2jZGKNxiV52/HEh/e0KzhcTvlWxZJDSesiPhHw/S3YaLQuTzMMv6CZVLrIp8w0VekkUrhczL1lQtYEN6WrJD6HxoRfk8PqSTBeuF0FvmSv5hRFqaWi6UXjQT94MTaWhirpB6xEQuK3nxhpoKreMMbeHlnpHgr7xIgoE+QuwiAyeYee7no1g+M9LSxzChdpWPPdyk+HjBjSfeSxUht4+XUexs9HKQnQwv79mRUgCqC72DAAzmZwWAhfycBHCInywAKfzkB8LvNz+SiPJCcHd0YGgaJjC0A0sZOov1DN3CHoZScJShp7jI0AfcZegP0hiSgOcUxbynqGQuRREpDBX53WLoB84y9BaHGMrCDoYeYjVD17CQoRMYwdA6NGNoPIox1B74TFA54A4/vwDs4ucxgBn8HATQk58FAErz0xkAMtjJj/hvIzt38H8fdhZ5KeYhp60XpHDzN8TbKm6uwntXbub4CP5KTYIPbGHmHnw3ZWacAeTykhdvZD4vx2C0soeWXoZwi5XPwcaGsbIKxgOfc/KvjAmM5WQrzIa8ZaSgsilMYWQvzId/4qMo2QLM5eMwrIz5xEZhbUswko31sNbvLhfvYyxCnUIqhsDytUxch/XR73jIr2EDBvGwHLaeYiEz3J74lxz8qQWbmxZQMAq2T2fgAOz3O6O/7EgHoNhr3f2tDUc2+6e5kXBonyKtLYBjx+hsMxw8X19H/J2ETbq6FgJH+x/W05NoODz4tI7SSsLxgXv0czsWblyumxOhcOcUj1Z2BsCtQ/I1shQu7vxdFwWT4Oqqj/TwugVcHrxBB2eLwf19v6muYIYfVFj5odpeNYMig5flK2x/PNSZfE1VGW2g1sHvVfRrZhBUG72uUDnHykPFdS+o5UkXqLrBMY8y7naFymseKFTClbZQfbWdeW7znG4MHRab8MBNOfMqQZtJS16448umJtCrX+udb5z29UjvYOg4aezhT075eW56A3/o26/25OM5BfZ4Xl2Y1ywQBAYl95y5++6nIjOeb48OzB9QNxxk+kWUSqjfutugIT3aNkwuG+0PlQIAVlA4IO4aAABwZgCdASqlAKUAPjUWiUKiISEVayZ8IANEtQQ4AMgXAX6r+KvcCYF6/+S39a/Zf5T62/dv7f+n/7n+0fyZ/1Xf50554Pk/63/y/7d/iP2c+ZXoY/SfsB/pp/sf75+Snci8wf9O/uf7Me7l/hv87/efdD/bfUA/ln+B/+ntWf8D2Df3W9gf+af4T1cP93/8P9b8Fn7Y/uV8Cf7A//f2AP/h6gHDMf3Dt9/vv5X/0ryLfZ/3b8jvOV6WT+58kH2D/I/2L92P7b7hf3nwR+QX9J6gX5B/M/8x/Xfqq5BKyHoBetH0H/Vf3L90/876Nv9F6EfWT/Z+4B/J/6b/lPze+LP8d/wPEw+1/4z/he4H/Iv6b/yP8F+Rv0yfyP/Q/x/5Qe1z82/uP/M/y/7u/QL/J/6X/wf7v/lP/f+//1Jeuv9lfYv/Vn/j/n+5f5+AAvtil7f/y96gQ+rYlP00T85Vz6CEhxRKppG3BTfAbXzlqv1bjcCxgd5eg+lll1O0JiZf49JrXCWngTc3rb6WJH+TsE/PhUG4fvD9Ya8QThcsntcNLwkPFAozQ1x6/gE2VyVveD01WY7OVKG13I8G4IPh4MY3x8+E0varuKo6M0InbyWtJ9xsm2VsgVD+baUi8CPeCizkGdm1p2oeb6303cwGsaQGGG4IzgzPwDV0WPWKfUKxQ5T+ifl4KkApeo00Ej42eK5IDi/l/c6PAStjk9C7J1YeoBd4FSplSE84kkpEt6wzbIjoD4UzTm+IlbiQCJ8n76nfmg379XdriSn324vFuTawjsIVEp07KUZBIz9BZpvTuYsKK9aMgID6Qy+uTLmjTG586XuDgC8Z0qjErkt41p1TkHP4Rzo0wz/qcNNb2x/rGsj2L43W/j13jChNiFlTj7MV0l47StSZ6snUq8/KvaJERY55kAAnAhxQ88PD6L1Tx0gkgVocpZm5a/7qhmtIOUPhL9XhXYMRloouHEIpzu7j2b619bCj031fVP41zPd/8K2UYOWGohP0kAH/oN/6rkA+WYw7mIhiLNL/b8TiuTG/Tyvp1vkniwhEWUU3Xv5TP6geD13iMuyCWKE7rKva1jhNrs23Apn/wZ8SQ6AA/vlHgy9T4AzQ8npjfD7/BKQAxGGjUr+9BeQF/auS+JFFIGkZBR71PZRPyRLXixBYn8emkS8hNQNBItHGQ2siGrGXIUP/mvYVuSwoYdB5/Ox2gbFn4M36KSvLKAe6GGgzgF5xUxTBQNU6uAoRGaAotOUKzjBYNHjeQxCE76JIxWR7VpG5ifOpysJj9j2K+9d6j354MWH+hKu/O6S0wrv/Zrf4kn0B3jKMkbZqJTOUlUArT6PHBPARdJhsZ7uso+27fWmk9iMBzRf+r/8WUJ+DbYHsEoBmDF/xLB1KLsN2Pw/IBBne8z3yi5MrWVQmw/AYSXK5sIp/j+v9AzSMsvCBR2X40tjOG630qKiwTS/IUO7L+04Ve4cHZzhSM+5jSz8+mV2vfkNplOSHWEBpw5EyLaH4cvupjkQ54LH/+8M5yhHNbNyYElr/lYykKPG+KEubLgpP/NHWUozJKbw4N/+1Kl0E/c1x6pNXxTrDxuPoA2yhj3LYSbv7v8rKs0HLWQ7mW14fqnJa/j1IbM3xZUs7owdqy/1+5s2uW7G3IPkuka9imNhtA4pGzJgneIfRPzp66lvUkPoxltF9BGF2a4gbDvsuO2Dij8jEOQthdZLoRCts+CKoMfCnOUtdXXp2Q5PhW3d/n7R5u/oS7+74rJV4VpR0lQ0e9zZ1uRDTZU+nRrUHG/gAAuTiKLPcmTSD5dANAVcMvDL9PGJbPGDCJ01UnJHCWEQHJwLVJ27VpaCY3sHbgykrWBI9sxAjPMm39mM6xVQLr0MZfyLJZOgSowwhbCehWGqTRwXOIjg7FSqK7R+r9CxBn82nSWRnEnb3zVroRUWRbVadm93Wnv+6FsgBVW7XyMNOVC2wxn6ffvH1yhxqXFS2rjkU3Suhop6R5OZcV7FNMHTarmOgPRwOEbsORVzyEbYyn+X0zFVoH3CoONBvEjFxSx6hw6SRLl9968RMi073lRqjZTmxSDbgV8GVGTrFpubDVLJqwJsNaIdF0ILujZ8guwSDEUWcbJKACqqjwHNHQf+0/OOuNsBm0Xhn1kFdjz9q6hE8zKgsYw0yk74xiw8jVN39i/gNIse9Jq8ynb/9TZ+JHPrkGSCEvI/QJ5GtOwfgzA2dp59D35UH/A2Js5SKmGNI5ogZzfprxtGSQvJQaH2nxIMBMNP+RIt9jHKOE+qfMHBUsuN9ze9DDtsKSrcw95lOjeXfGWnmXMIjIfRtdLcpztsHxpF0cwxOuv22wSN5hRt1DGnMkm+7+HVsC1PAIKjU42g/+Zllden2n9KfZjdKnw2L7pDAOH0nosozZWthC30rjo0QubiOYRfkN1OiyYGX+527EismrM7u1MsLFAH2QtU5/FVyUYHBmMrPbOR0bz/AJFyRrUO9ooXtzhQhVXiqxtMpnwvKxAAeJIS6UQuASmkZPZFpJ1usnFwsBT7ZCsPYoY4aMuDSP4+p8Zjyl549FRO+/8WTpVsNu6zZBrmyQWm1SumxM8F+ysRJ3Yo/zdKjj0A+tGbfSyzU+hc1pM8ZyC1bj86i3W+APEC7E/mI0mxC6zRDWXhydZbdFdqdDWdCzHV2BPhLk8mI2hVe+gpogOaU5X6PbpT3OYeeDkdsZPabZvyxt8UU2ZgUA2PZxHlxlTxbt/F6sfYAKC8fVunlynjDTP1ob79J0fk3IqRwAz0+uVNNPYWmlkFvGksf1ZUNg7JHURudUYN/DiSpZXGBN231xYY1uACNMOYijg5vUXUZ5p4N8jOn3IahA55ga89pFrXcX6GxyPgfvBo+9Ek/GgycuJLjH/1ajFl/RihG2ApcAsZYxS2No4D2H+kdWYI3Aow/qMa7srnC4fqsK41ZD5jWT6qhwzD+nx9eB2/KzZdWSziyf8+kagkVuo0ZzhlVJFEIsumBtu+Vi66J7nd4Co1zr2sTrcsx0jX0IU8oPP0C0cskg51ypONygc6iy/GMggfnNWHnQYB7tq5aYEcriHuAK4H+MMmVArTHbZhP+Of2+JC9LgPX4RyhvtzUOo9g64z9Cq67uo8O5I9nukfbZTWb4rGc03VOQmO/LWiYSSXQ6WBA/G8xuB0/3o+gwCAyQVxiRz7DKBAfJP1XqZAfvrYt6w8DkSx6zQxGmnpU+nWbsDXAVhJ/BNvWeYH+5he4ZxZaOrkUF3P/gXVVkmfkG+oKkgpehfZEk3MnTrwCNca7CuiEeJg5nOEEHDbWG7KejESGrnfBAzbPWmdrxIr+5Xe8DEVDtlDR2Zd/ep5OjG2YbgWAkiR1btVfZKJWea20+kq/DMfOx2+XUbJ5o7YRaKmP7fV8ohEjloRg2OiqzyMNqO8C2AfQ1jgSfE+L6qw2NVjd0Qgic/wJU7C6E/v/6bzihxls6L6oVMXFiaLZNHH/UMYGgoyktBixeqrRX6kTBvNU5E0Mrd2HmNGMfoDwokct0OvM5yK/TuvY9oqaRdbPg10jjDVWWqPl5XkvTi0dCs7CfgdTmvjWIaHrK5XyIgt3soAvElNXhOT4uNpYPxKL+W9Obmg/avEMHHgxzGfbg9SiyWc2/jo0OaDVG/Vfc7FtV2kMw18AG+jc1kRXn8ZCFtMSiQEemXqtz9EW+9FAvOfgh6ih9+rUtC4sywgJCCUWUAHjiBExffKs7H3L6KyS0QIICVkx7/s8TnGwjKyKTMNJew6t1PlwO5bvwhX4NGPMiF7i8A1JY+xNd/Iem09XXmd7+M2r6vwQ+IjiduCgxq5t1Fo8KVl+5m/cx066fqcxkcDDRStmn1wPHrMDQX6qq7npm0tgyFsbJ1ur/VW3R8QppKCBwNZJ8JtJDU8iCGesSw0ePoe3RsQZtFgN6d+xatAZj8JhUfpod9waGQNVCWyJ66bE7w/fNzBuccrN6NKRrS54u9kjz0uX8vQLPbPy8nlWYE2wt8UyOqoqi3utHX1w4QnEZ4RFwbrZjWRggE/DMbDJK6FF4ghmIAci0aPnfnUMciTMF9fe1n44tgg3iLNzkXDRiXuHOIvkHpkBo641mXqPEUVfBaJJJnxarc2onEAbzmc61UVyZPv3pkr78lblcLF9QWOwW3/E13VZVXcnzuXJP+INgAh+IarRb+CbDz8q5kIy+4Yv+Hj4M5ewj5Mjng14gmLjqoM5/KuARbiRVBCTbIJhQMfhthg2RhZ4XzM71hVKnmLebi2xnHl+blBoH9yxzf7H3K0SL4zSHfkGYsWvIsDXjfZas6677Cq74xR8v+/y6P0AsdwXhFD6TNBbcJWLpQxTvXdfQhAtK55Ko4vKb4aqyv23XeyDG45O8jVJ8zLBbXL6yJJSkyQPC/IcjPJzZNehmNsxVG6oF3GpSUmke1O2v5WQ/hnZdMjGcXI8bvAgssO8tOIW41a6d8JN5QoBA0baGalktgagygZz6nyrSPUH6cg+SBjLBH7B7WXkDSWSgPKy2/L+ZnmDQlK/EGw5GVCts3qjax4++7Y2EWhOmhi30oAfm50AvoOExZQyhnr2JCPxak8+mUn367SF/oFYl+o/mWFIgHn6aWVC2jnH95kIWTD520S9XMn1aIs0hYBfgU2gWy6XN2iTUF5fS+iAIKSSX6eq96jVCcUFRWWgn6UZsf8l/OtKm44gKN0uMbCixBnXbRx1NP34f5teocbB+pSgjwzhVd9qZaZeQmQSMoWFj6ChYatm4JolR0KCESwEB+oTc6NyuhaoEOV5JTa9bQ1vx0xHwu9sviab91CY6oPEf7lHR+erh1ta/HqSAsrw9eofdyxTEpr0HsHlEvJvtHmWS+mR87fRjHmcQYFmTcy53YzgxfdJ8v3s/5xvzIl7SCgl5e77Bpjj56uUpKKbfRYRodj4psUyy5o6qIN9pIkZUns4aUPXM+/SIhdsLeL74ld8IU+hIpccvfVyD1M5kWXJi/k6BBqBuG6ZWWpU1tYXo2VIufSmnDwyTHhwpQiXWNrDOp+n0TTOkTx3Z6Y4/BewPQi6p4Gu3fjWG/v40qYRYqUmiO8M5Alwmh02EAUV+SrxVUnkw+CRkUJddEzHiFVvcGDYoQ1LBnLRtcCDw7jZlA0NgzCvKU2Hbcnm+5eCK2j2lHycgenvu1HrcrBKGRG/vRgpMZ8rJmS1AqrHR8jFseOmrdi5AOcfWRn8LEu9pP5+eTdxQLukv4oZeeKfkNmP/ncCNUCGdNliW/j9zVx444bBKBhHhVeFgqv/6kw3JU7m/wQjEj2ErSf+Tb5POR+mTVaA/RQzi+FNs6VKDSTn/emzlgIFoj2q2coKdGReLEQOfHLSa4GL/ZN2EhNR9Npf5MqxJ9SrBoAFJPLLkSYDXdKDIoGAs5vUcKmjW7mvRwn6sPx0GH0Wx7wFPzPDraEB8pSd/Ucs57bwYxtyeCAYzirf4q03RdKd9hMLVivGsafeNRyGpjT8bV3PtZq0Y3co1vcHnz3nBAJgQHacq9Yf+2QQ5XLmTSiEJJ4IF3Qvhs+Sjef8hyMOb5G1wGpOaXbJcTHTnSF9Hzx/k35H2wrQMmXQrzNrVhZ7NvBe0qf41iGpdLX8wXvdwu09t7thoodGZKMcMLIELHwsdMlJUkvP3o/X6ACbWZsKSazbpyPbB5TlOQfAQRZGc/q/NjFxT6nHyI//Z8OqP8CeVlEX4d1EBKlgo9kZZihtad+d+1FI0r8DDinnuy/w1KvnrRXkvkJX4F5GNvM7FWr2h/l3Xz+vHpfmmXrZ00BrqouU9a1g81UDBi50BnN3Toa/n6RifNj/ouD4WN8V495EAWu1AtCAAmhvfBne6PAXKRcRev7mO8FjFOqI65YO0zfoVaKewnOVRylZNkGiONAR7aF6BMo1jiA4QZNfNRIkU6fLLmYPExmxKGfyadD6uoNX92cy8JtTXNQ1mv75UQTahZRejjPQdcnP2ZT/43jE/QPXHqlO3gCX9I07McoZe96fI1+ZQtzLCzW1zFrE8PPyjNx4AOxQWzw9/5Jhf8JVZap1G4KeagX5ylgmDypung0Gn163gi7amlSYQ4sI4uqwnYKY9BGY+YXVdUkwKvOz3xR3POepy/yAypDZ8i7k3s7AjL0ztc8oJ8PHrD7UM35DVqiKPVMQiP+HoWjloTuTy+vhWNPb17NXuX6tMgbhOsxR16s6yFq/ibbW2PQ+nsIEdS4TfPRn+OC+kaUql8e/gf8KFRm6lqRk9KVHO7rN5qLpzbDSwiQvdFz6ysl4z4ZuB1Ps3VMDRoQnc41GWcxvIlcqy5o+435rV/T4WCvLH/UtSn8JS3SzuE0N/jLaj0ln/WIhOLkN/xT5JK+OExYqtdY1BTHypm4B5kwRFSJfBT5DFUxYSIfoQWafo0pTZiUQUYFspqSBmuKxKE2tkWdTR8QcmCIfqeT04/jZQnDDloxL8SB1gDJ0zSpuamT+o/2Wnx51qkTPCjH5C5sHQNs5l6peTv9p+rses8nyttEAcjN4LjXFHc+I1z0ry4A64xeMrgiG+/abK2aJci5AszSGs8S1KVw6OfYZLVAnqSPOMC4SwTgTc/H9718KRZ8a7YA/vXVFa1X77qvxc0kHcnqINAiRtvDp0UkqyV8vvTREXA39LuZr86AKGJek4xPDVyQn3CtGpw3vrIPugLu1/gBVVLuRGxY49GF1mTKcrmR6J6xnDzyG8tviUeuyECQQ/syZrRNTEKajc2f9cYXTr4I32PM8z1tls3aDaXx00PNwdg1uitnf8cGHlcHM2cv3C8xn0ZGkNMzCmXJLcC+0L8PxUrv2yMcVNJeocpfQlSvdZq9Giwn+Wswjn8OYjUFtc7kx5sEtgzyTGM55x+Rvqk1aS4gfoDHBnfrMFZ2PVfuu+xV7t8EmVU0+5+/8te8GNtwAP7p5cqKIzz+I5uZj1Jh6cNEKDCh5C116tBfr6/lnpZs1dScHixQcgncMvZYcw1HSHYi4+f2Jujb/hMFim+gCgk8RahNbJiYcv53pVuB8Yzez6CiNJ2Y53ROcGlTKLZzo7u8vGeoNneOIl/06szIsFdDpJwYlci9eD0zf/e/ed3ALfrNMNrQRN7+poL/U6/dVP+O5y5M/V2Up5mzaAEYihORsf6FIzYZ0v3/EHK+rWawf4AAyVEXv4Iil0f39Ps1uxvMMgwpZ07wrjQdQNS4Y2HnkaExWWkZDLerSOhhgVAGrXWnBMnHRG4Pwce7CQ5C+wVHpvXoYKQ6tqcT00SvVtH04cHUu/cTZqxZn2icV/8dVETKPOqwwaVDlZsokpGYrGcMY7xWY9DenZRFgXSCcV7PKCJ5FAlMwNdvfgQJ9tZajleE3rLzAi0ROk7GFiX4+B1MJfNAzBX6G7xYd0qtzsgb6f/FkoEmQPQzMI0wFisgCrHHv3pvrQD8PxnUTNHm8h13MNgpvHfDCJX5dbVFF4de+fou6NBtt8DY8yvvGjxPYEnrAzGPO/vPMTe9SvG5xElYOevwtpvCh2n4iNmx0EAasGKEwI7miJFz8rEjIoeaJL2A+ygvK2IbJyJS9djObOEICq2gRj9x2vN8p/TEkFzW1mWTf+axlQagE38AfKt/umqnABg3ylpmcVVN+WN9yXem1MUeGfDXDGeKlwZjBXzcN7lAns46OyQzWZKoR1GOpgKRSxBc3vBTIL8D9Irt3Hh6L/Da3wSKVe/ITdDpwP0JK9jTW9ZvrxLwifG3s/re98lyWf1SDxr9UuaJmxnuikTn4AgbQBVTtXlj+L0Ax1VBb1gHKZuXbVx4q1veAemfeh8Dz5GolOafXVMifL9XMzC8jCWzco5JJIqPCxTSdw/9cDKaz5yMkTPftMotkDDKN8/rZ/OTmmNEIl9t0tPtyxEX1ZxumG+fVKKKCSK11h3RJGd9o1a7rUPTsDX2lU0UPp7phZ8CivlqgQl51pmfyWj1f/LPOfWEpixyHiN1FP8v33vx37fsBYC9ctcNIPlDjVKNjHfjHuezGNHwAttHWsPU88DGFmHPsYhPT/HOql+YEvvOprKFF9wHMZF7o9nhBkOFkZAWfggXv8omS46dPZex3wmzxZJqt5oCBVWlVmJBFkaAnPRiSa0l6/GjCW3uhUEZiQ5A2Ma3Jje3Gv/P4ncbV7e96pNq+IBZVwWHy9GpOYaE0p7JosnQj+Y6WKajmFH2uLrofZelsfss8H4hsJlLwFzhxMhibtxv5M1EdR0PhD1cD/jz+fN4Pj+cfq0yW2tNlZwwzQwIztdbgzeZfhsVaIAZgziGcWDv1P/v+V4N7Tj1UqruSTY0QbAG78Za1/qSMqXZruSsURR/nwQGQjlMYai7PjuR4aZiIR9bVBBDfPNnXkRTwobdbrte2R8x+vm/GJXG4cnNLuZIXS6KpdvyRhpSAl/Nb/cDSXKlDEVD4PVbw5MrXD793prVHc+l6gYHI9SHHlVE5L8wRI7Z/GLx5Vg1gTFQmm3PyltQc9Jf27bttnvycVAC3hRJfEyuVYY42PWrycRsILOnHkBYi7+9fT5GUCmlpx4iJ9dWFmEjSmqDrYMjRncr7f65Bo4vBAUPbikEumTBE1EAYS6X1FdKZnCm16fq4UEvH1Hcvke8IP80c0WQQiTIj1iTqSbk9v6ZaSuPzxZO3gi0T274w7IbfYy3zzGQuO0096zm88hveT/P8tojtGYgzSWoh5KSitY2poPX5vP/EvxQJbMbGNo5Tf2VgeE+HlBhUwyvM5aEPCUhKlb1SpGgAUHe7Smea/BlLwmR9ijnb3z2/cdKYluoD+k2Z0O+ELSKv52JVjDnMdN8qRoVcnccM/82AhPtQR1RtxlhF0cVwcpsUewoIugnWrRuZYclJiPsCf/h6/NQanaQVRVZWYIhWMN1IZmcjvCOzC1V3pePTCKZOKwAAAAFtNEIptki6EtiTi/d6KVU8T4J25O+ziMOHWSCSisu7fHmRPiIopkGOMW1Sjm+ZAgx+Ytp9P9oaeztZ3reNyTk68Nnvu3dR3rUYRANViKMICG/l2v8r2/4cxQZfWTGgYMEIKyyjoNXHtrHn5D+oT0WEBklK7WojqmqcmY87OoFOVXlOqVjux20PwLidqsW/pKOxo03z4qXLuHUl97T/SbKk57ssW7ei+eBDApRo9ZlXNoKy5Pvv9zLsJ4bm/fMrJ1Wfuzfw/x/yi96e3MsRbavAAAAAAAA=" alt="SOC 2 Compliant" title="SOC 2 Compliant" width="76"></div></div> </div> <hr class="opacity-xs my-0"> <div class="space-1"> <div class="row align-items-md-center mb-7"> <div class="col-md mb-4 mb-md-0"> <ul class="nav nav-sm nav-white nav-x-sm align-items-center"> <li class="nav-item"><a class="nav-link" href="/terms">Terms</a></li> <li class="nav-item nav-item--separator">/</li> <li class="nav-item"><a class="nav-link" href="/privacy">Privacy</a></li> <li class="nav-item nav-item--separator">/</li> <li class="nav-item"><a class="nav-link" href="/cookies">Cookies</a></li> <li class="nav-item nav-item--separator">/</li> <li class="nav-item"><a class="nav-link" href="/report-abuse">Report Abuse</a></li> <li class="nav-item nav-item--separator">/</li> <li class="nav-item"><a class="nav-link" href="/dmca">DMCA</a></li> <li class="nav-item nav-item--separator">/</li> <li class="nav-item"><a class="nav-link" href="/dpa">GDPR & DPA</a></li> </ul> </div> <div class="col-md-auto text-md-right"> <ul class="list-inline mb-0"> <li class="list-inline-item"><a class="btn btn-xs btn-icon btn-soft-light" href="https://twitter.com/BytescaleHQ"><i class="fab fa-twitter" title="Bytescale on Twitter"></i></a></li> <li class="list-inline-item"><a class="btn btn-xs btn-icon btn-soft-light" href="https://github.com/bytescale"><i class="fab fa-github" title="Bytescale on GitHub"></i></a></li> <li class="list-inline-item"><a class="btn btn-xs btn-icon btn-soft-light" href="https://www.linkedin.com/company/bytescale/"><i class="fab fa-linkedin-in" title="Bytescale on LinkedIn"></i></a></li> </ul> </div> </div> <div class="w-md-75 text-lg-center mx-lg-auto"> <p class="text-white opacity-sm small"> 漏 Bytescale Ltd 2023. All rights reserved. </p> <p class="text-white opacity-sm small">When you visit or interact with our sites, services or tools, we or our authorised service providers may use cookies for storing information to help provide you with a better, faster and safer experience and for marketing purposes.</p> </div> </div> </div> </footer> </div> <script src="https://www.bytescale.com/blog/assets/built/jquery-3.4.1.min.js?v=57ae80e17b"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.bundle.min.js"></script> <script> var maxPages = parseInt('2'); </script> <script src="https://www.bytescale.com/blog/assets/built/infinitescroll.js?v=57ae80e17b"></script> <script> $(document).ready(function () { // Mobile Menu Trigger $('.gh-burger').click(function () { $('body').toggleClass('gh-head-open'); }); $(window).scroll(function() { var scroll = $(window).scrollTop(); if (scroll >= 300) { $(".header-banner").addClass("scroll"); } else { $(".header-banner").removeClass("scroll"); } }); }); </script> <script> // // REDIRECT TO MAIN BLOG // if (window === window.top) { // Checks if the current window is the topmost window var currentDomain = window.location.hostname; var targetDomain = "www.bytescale.com"; var targetPath = "/blog/"; var currentPath = window.location.pathname; // Check if we're not already on the target domain if (currentDomain !== targetDomain && !currentPath.startsWith(targetPath)) { // Determine if the current path already starts with "/blog/" var newPath = "https://" + targetDomain + targetPath + currentPath.slice(1) + window.location.search; window.location.href = newPath; // Redirects the page to the new URL } } // // POSTHOG // // Sync with: upload-website -------- var isReturningVisitorCookie = "bytescale-returning-visitor"; var isReturningVisitorCookieValue = "1"; var isReturningVisitorCookieKVP = `${isReturningVisitorCookie}=${isReturningVisitorCookieValue}`; function cookieToStringFromBrowser(name, value, expiration) { var isSSL = document.location.protocol === "https:"; var encodedName = encodeURIComponent(name); var cookieStr = value !== null ? `${encodedName}=${encodeURIComponent(value)}` : `${encodedName}=`; if (isSSL) { cookieStr += "; Secure"; } if (expiration?.maxAgeSeconds !== undefined) { cookieStr += "; Max-Age=" + Math.floor(expiration.maxAgeSeconds).toString(); } // Browsers will default to using the current directory for the 'Path' attribute, which is unlikely to be what // we want. If we need to restrict cookies to paths, we can consciously set specific paths on a case-by-case basis. cookieStr += "; Path=/"; return cookieStr; } function isReturningVisitor() { return document.cookie.includes(isReturningVisitorCookieKVP); } function setIsReturningVisitor() { document.cookie = cookieToStringFromBrowser(isReturningVisitorCookie, isReturningVisitorCookieValue, { maxAgeSeconds: 60 * 60 * 24 * 365 * 10 // 10 years from now. }); } // ---------------------------------- // Install Posthog !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); // Initialize Posthog posthog.init("phc_viPZ8YeH0mSslMohg6UpYBLnyf4EXQGBtkdb57wApoe", { api_host: "https://app.posthog.com", autocapture: false, capture_pageview: false, loaded: x => { x.capture("$pageview", { $set_once: { first_visit_timestamp: Date.now(), initial_current_path: document.location.pathname } }); if (!isReturningVisitor()) { x.capture("initial_page_view"); setIsReturningVisitor(); } } }); </script> </body> </html>