# [[GCP Identity Access Management]]
![[GCP Identity Access Management.svg]]
[docs](https://cloud.google.com/storage/docs/access-control)
This page describes how to give someone access to resources on [[Google Cloud Platform|GCP]].
In GCP and other [[Cloud Provider|cloud providers]] [[Identity Access Management]] (IAM) policies control *who* can access *what* resources (authorization). IAM is the general term for configuring security and permissions. IAM is unified across all GCP services and allows you to centrally manage permissions.
IAM requires that users first be [[Authentication|authenticated]] [[GCP Authentication|through GCP]].
## Layers of IAM
IAM involves setting permissions at multiple layers. Each layer takes precedence over the ones below it in case of contention.
### IAM Deny Policies
Deny policies always take precendence over allow policies. If an actor's identity matches that of an identity on the list of IAM Deny Policies, then access is blocked regardless of any other allow rules.
### Organizational Policies
Organizational policies control what IAM policies can or can't give access to. For example, if there is an organizational policy that disallows the creation of a service account, no IAM role will be able to allow a user to create a service account.
### IAM hierarchy
IAM policies are inherited top-down in this order:
- Org
- Folder
- Project
- Resource
IAM policies from higher levels take precedence over IAM policies from lower levels. For example, a policy set at the folder level takes precedence over oen set at the resource-level in case of contention.
### Role bindings (Allow)
IAM role bindings grant permissions to an actor at a particular level (e.g., `roles/storage.objectUser)` on a project). Role bindings include a role, an actor, a resource, and permission(s).
These role bindings can also be conditional (e.g. on the time of day or IP address of the actor).
## What about Access Control Lists (ACLs)?
An Access Control List is a list of permissions per resource and per user. It is the legacy method of authorization. It's still in use in some GCP services, but IAM is now the recommended option.
%%
# Excalidraw Data
## Text Elements
IAM Deny Policies ^GQNwZNzT
Organizational Policies ^h5QLPU9l
IAM hierarchy:
Org > Folder > Project > Resource ^94d0f7QN
Role bindings (Allow) ^a451NuIV
GCP Identity Access Management Hierarchy ^sH7DLwny
## Embedded Files
ee136c6d1f436ead96087b780566a05d72d39c02: [[icon-no-entry.svg]]
a71212610bef068d62f1b02f40468170feb61ebd: [[icon-org-chart.svg]]
df6daf6419d6c0a9f5f2ef73d1325fcb3409f1be: [[icon-open-folder-black.png]]
bf560717e4e27fbf2987cfa930a6ae1ddfb158aa: [[icon-project.svg]]
561bbc0d0e306901e92843cde6936858c6db480e: [[icon-database.svg]]
ec5758b9ed4333f9807dce6cf7395bbfb91234db: [[icon-allow-permission.svg]]
c760ddd19417f29e2a93d0c1c24335c1d0f3fa59: [[icon-user.svg]]
1eef98ded3ef9bd097ccc2a8be38ea8571562951: [[icon-link.svg]]
## Drawing
```compressed-json
N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZQUebQBGAGZtAAYaOiCEfQQOKGZuAG1wMFAwMogSbggAfU0AdRSACQAORMwAZQARen0AGQBhAAUAFj6ARUkAVXSyyFhEKqIOJH5y
zG5nJO1hnkSeXeHh5oA2AE4eZoBWPmLIGA3E+MvtY4B2FOGUxKPmnd/VyAUEjqbiJFIpVKJY7HQ77S7HeLNG6zKQIQjKaSg16nbQ8Y5fGGvYbxfaPAEQazKYLcFLk5hQUhsADWCH6bHwbFIVQAxPEEHy+TNyppcNgmcpGUIOMQ2RyuRIGdZmHBcIFckLIAAzQj4fDtWDUiSCDwaiD0xksurAyTcZHlc3MhD6mCG9DGyrkyUY5bMfJoeLktgq7Bqe
7+8HkiXCOAASWIftQBQAuuTNeRsnHuBwhLryYRpVgqrgAOKmyXSn0J0oo+biXi3AC+dIQCGI3Eul1Ow2hh0u5MYLHYXDQx2a/aYrE4ADlOGJuPEiXjsZ8+7cKsxOpkoK3uJqCGFyZphNKAKLBbK5BPZ3NroRwYi4bdt/2vS6I5opa6I14BtdLJlZjm+DkhyYo7mge74Aea5wGw+Z5IUtxgEUsxlLSSFgCkSEpkhKGoc4YIQgSMI7Dw8KInasyJNi
uL4lCwxEiSuzxNhtw4Si+ChFAbL6PoahPoMcHqmg17AWu9KqlAABC+aOBwyiATeKI5MQMnSvmCkiUBdJRKQUAAIKkIyFCSCEz6oKJ5IqYZxmmbg5mWTB7IwMonC7vuCDFE2xTVpAlQSCkrxsPQHBsLgADyvTOOFQhsL0Un4PpABW7TxFJpq1os+YrGu6xoJsEJdmc4JHK8PCfkclEQGGqAEfEwwvAxpwpKciQfgxKRjmuQLECCaA8K+2ido8iSJP
CKRvJ15KmeimJoG1cTdguZWBdC8TxBN5KUq66Eog6LKypyPICvyOUoiKYpRlKMrskdCrkBwyqqjkUCmtqurOq6Zrsh64kMo6Vq9Ta/U6RaToGnW30mp6wjeuECa/iiQaiqG84RmuV2xvGhTseUaa4BmDnaWusmFhIuAxmWx7EJW3C+XM8B1jwjbNuBvDrcclzUfEnPjoObloK1fOThwM4cHO/X1YcKRJJcrx5huW5s5B0HndTZ5ZC9V7Eyid4Pk+
86vu+n48N+iPlP+iliRxbBgeZKsIOSsHwQmeFlG7aEAmh2Fex7YADc8w1JGN+KTV1qFgAt2wIq8K2vGtG3HKxsy45AnH0jxfEyK2gnwVbOmSWpcmaRZOvlCpRcafnf2STZbAmWZ1fKdKdcN/ZTflLB+AuQLqAO15qy+RU5lSIM8QwIkxD4MoryTO0hCXFJmhwIQRgwKcU4ZYzWXLKaeW1Y8cQ8AxP5fK8o1POSNXHMklzNKcpwImRA1FV25I9X1q
By682inCSsdEmGM1FqwxppogxK9eav9OzNCuM0Hm2ILhHESFteSO1QaOkOvKdAvJTqCkPKKcU5YbpyiqIqR6Ko1SvVTDqPUEMqjujbBgy01pbTMPBi6SGjCqZ+EkLTf0gZgyo3DLtcomM4yu1ThAfGhMO5+QLPvCkAApHhFZ4Z0yQtAbe/UWbiRbOZcq7xTgfmOKbYWQ55xy3MdOWcdYuaHA2tieWJNFbBANhBDyh51bni1nIiAetHxswXG+WBJs
zYgXzABLSSkLa2xZPbTxTkXaIVQn7URswsKoVTshDC39f7/1jocYBb8MLJFODAuBCDzi/FaMnMoUj07cQMFnASQlIGlxiQIXS0lZJV2idbcu0pK7yT8RJPSrc7JE06RgFuRl66TL8V3Huw4+4eQHj5EmI8oBAP0OFF0kwACOhADnhUYAAaSMGMUgmpsCJC3gsCQSwzprA2BtHEE0LiPFCfEP+Rwr6vOai8XYHYxqx2omRVcKIP7A1QIiZ498njEl
2J+FakLygzQgfObQiCeblQ7IcM4nM0WQG2nWdJZp/oHVutgiAuCTqmgukQ6mWCyEPSelQt6tDPpcJ+kwv6YNAafyqvtDhX1uEw14fw2FgiUawDRuS8R2M0DJlTOmBAmZ+l5gUUWM5qiabqLQPTLRDz6yzG8ntfRtpTFgjxebSAA4RbzlMdY0Wtj5yJGakSYx1EFabjccrRJatroawvAhTVt57yBPMsE42X5mg/giRwKJHSBlpziQGqCjskmXhSbM
NJXtMI+1whhOF2gEWXCRWCOWeKC2bGxecXFn4K3dkfh2OpYAGlcUzvxHObTRndOGSXRyzdVK9JGeGva3SJmNwnYM4g0726zsgEs1yKz+5lHNSUTZVRNCNGwCeM5zQABqcBmhTiUeFHgxZJgwCPfEXott7mQyeXvV5NF4Gcw2uCcpY0/lrhqgVHE+wGI/PBdCN8xx36sPmk8BIpseAP0+J1JIscwGzXaXEX4q0gELnxE8REoC1ykppOwllEg6WnQZ
YQq60oyPoHIeyl6nKPr0KNLy00IrBUwuFZS0VPLoZri9Hwg10q1zIxDHKkRkZJRY0kaqgm6qpmpoqNq8mvQ9VSqNZlHRZrWbRofoFBDCGUFrgdRYtATUXViwlrC1498gEnFOL6pWCTM1eODT4nNS7/GRvcbZkJH440Jr/JEvxoF4nuTc9msNiZi0R3Sd7LJvtSmwZJCSRD4J4HUWcRHTDnx444fjjLEJwx22dozs0ntxBc7CRTQXPSg6/EVzHUOs
uXTa5zLbkpqyszbIzrq05buq7IthHWWUIe/l0A5CZBwaoJ4xgADFmCSGLO0YgQgj0AC0jA8CSoMfI5JtPoBfeSfezhj44lgZ2c41Fuz3zav8/KPNtjwObXsD1f87OEahdB1AwxrhDVxVWxBKQENocxf1F7t3Cnn1aiY4lFI0FktI9S46eDnmQEZTRkhd16NssoUxmhLHOEMPY+wrjbD+WOm5aTgTKIhNSrtRAcTwjYXoxRIquTa4ZGKb8aTRRuAA
CyGmRNae0aajdenbSdQ/H/cqJmURmd7jzSDpmJxDms3WDmXZvjlJy+UQgriEB+Ydu508nmYvDvKAEvzMbQlBaZ5bbz4WM2q07m012cXUIJcLUlr3sx/txAg8iuW5xQdOYwotVoRIYcerahNS4ZWQJdsq9narfbvNjJ6epcdA2R2Ncz1OzrCzvPWWL/1q3y7nLDY8ZmsbW6USTbNDwYgAAVE8nQjAACUn1VEIPoaIGOIBnaOC8Tso544XDeKOJnAG
8TPDh9CXXnq9jffKNC7gN9tg/l+HsGEx92rg7mqgLfIHd94h2EcD4qCqTI6p1S0h90lQE/VAQy6xC6PQHx89V/3OuWsfQEkFFA0ECA414wpwEXvz41p1+np1hmE19HnBlQkxqi/QlTUUQMz0tXmhlwV3KCVxWWPiZwIM13nEfnvinyuHJBtyCSNnt1NnjSZ0Nz9WN1dyzQ5xkwkRxjN2IBDV8WVQaVC2d3TVczdy1B1F5wkBbCSGOGwGOGIHiE1G
GChDMkfk6leE0Ds0/GhFwE/GIDKmIA9WwFBw43cDrA9jtTABYhTi1WIDJnQFwE3nrwmxHmLDGCnAoE2ynCMFb17wVCwGoVym4CRBeEClBx+WKw+B2Ee1qmPgan3z2HKi+AoPhCgyBidSPlfA9Q+QRwxWPzIhv3QSgM/wo3wTXCxw/1RyfwoR/0CJRHejoRJzYzp3tHAN+x4zBhp2aNgPKAZxEyZxZ0kzZwVU4KVUTCkR5w1TzwN1UwcPChF0wOmI
EGwNhVaD/hASoLV35hWUTiszdRHBKjjxamc39VEPYOFG8U1i8yWJ831loICzCUYMTWTUrwgBdzOMOwCKqBjH0kF1QE3A4BgFQEEiIBDHCDLEoFby+IkB+L+IBKBJBPMEIHBNTE4CgHniMCZnJU1DRIWwJh1BqjXzmACP0iIGUBWQgDEFyCYFNAHCgHMAIFJPRApKgCDFND0FyFwGylICmNeM5HRHzAIChMwHaQgFhP+JyARJ+jBIOyIyEFZK73CF
XjrAZCEHOLTmykaHAWP3iFxET0lw2UbxHk6EkHwDgH6EFwoCSkF0aDqCgAoGyHoDORSCPQoGGD8PQH70H1fXygYheGxBASSFJAcRiM2FaBeGokOLBHWljgRw3xHGeAuA+HxE7HPnKnqiP3aU5lxHahTNODTJliJMR1vxI2KKqLx2f1qKo3f2ZXLK/0rI5SJ0aLFTJygIgN4HYS6LdFbLgMlX6OQNZzQIxlGK53qLVV5LaxUzsIF0GAWO1mmTCDZi
hDOCAQmgj0V3V17ghT2PFi10uBan3LBE2MbyNxN0DQuI8yuMt0nJoOjToMCwYOCw4iEJuPeJG3VIpUfCEATAgEQBzwUiJ0kIcJ/HgwRBSE0AQE1AmmaGIFMU1HiE0FByUOTPgXeE1AQE0ARAwr5T2jMNzTKEsOsPqXJGwEZDgCtmcO3QkBgE6E6E1GaGwCSnCk2y7zGCkg4AAE1NsOKmR9IYwAANG0Q7cXCoAfZQIfM7BcHER+fDB+EkUcO+UMrs
bYI4I4dY0cUxJneMk/RM3Mz8fMvYQszMzfXS5M/SgsjMojJHUsydMGT/BjF/Oo4UajSox/Csmoxsv/YnFslorpAVdozsgAqGHoyAPoxYgYoRIYocjg6MLggQ+TWRbzfnIsQYI9Oc0ZFYvEc4G+YFF1UEHmHcmzbXUaBDYkE41gj48oy40Nec5TW8w2B4h3Z4sLEQ98guKAb8qoP84uZjICikEC+SjaCCqC0cWCngeCxC8az4O7BcFIdCzCvkTQHC
+0PC5VJCQitiEisiiig08bKiwAy4MYXoQYSYU4fAD06AL407ecQ4bFQBRicqTmMxf9V5TsX+eOBEBSmpQzNIoVL4bYaiXI7UjDBHYjNAclEVEok6Mo86Fy2sty+sjywnLy5s/jEKilfy9IkGKArs4K5a0K+AxnAcqK9nMREc7g7ncc7rEmWYikMYdKrAtmJDMaAzfXe1TclZfMwquxBDN8AaIBcqs8qLINc3K82q6g3ze42NR8x3F814t82vMQy6
kUqocKUgZQawVeR8IcAgYE6U5E2U+nSE6E9ANWjWjgLW+kzgXWxEmUt6NEjErE1E3IPEvibubgIs7cEUpk8kqoKk7cLkPmek9wH2lktkkitErk5YHk6mpGUgAUjgIUk2iAM2zWowbW62/APW0Eg200XAeUtgRU1gTE7gVUj8p5LU9DLFMiSio0qoNgVvVUM5LvOwi6r08Sn02qeNCMgkd4bEGQoWF6/KQFHDCteOWBPEGOX6mFO+F4fMsqUafFa4
KaNcPI9pWes4WOXYMaCtZe8OcoMG1ACG3jey7/Ty2Gms66U+hs5G+o//JowA4AkQIfTjX7JnEVXG8VQTQm/ssTSK1A0mgm66KVV4xc8yT4LsclAgm6vA9m7Y0g/0MaK4BItm24qNBq6W8JFxFgoWpWznCmkW3gi3Uci2OWychW1ZYWvGCQqYiAYgTUeQ3ABh4kU4WC4w3AU4TUS4TUHgSC8+BQvYbh7ATQb4FqCal+1a2LVCDamwmm6cosHvWug3
EeFIMYLvSQNgToXqTUSYTQYsI9XoJkRoTUGMfQdoTUNusSiS15MtOzAaD1a4J66ffeu4DYP+bFEkGWee74IBY+aezfBqQ4JDQ4b4JEUkYykcQJ6WKI0J/YXYQou/WyzBOshyqst/JlK+lJs+2+6h7ytG/GjGgGAKnGoKr+3suGcK4mgBkY2KsYlVSmhTCc6ZZK8mdoBmm4sByxa4eOLme+PKl8BHEg/Y2FPmrewKVB5glzNqqqy8mqvxeqgZzBp4
kLJNFqu2aZydL8n87qquQC2hzQLh/EH8V4BAYYBAAaTUA5hDeNbAPcVqFIXAY4XAfkYgehzQJ4ZoXAXAUwggcw9ar2IijtLatk/pJRvyEefQI9QgKcKCpKJyhmE1US7066tAE4Iaf7eqTqcifMm+UM2BBIG+Lsd4fYCegq7qX7DsbQBxrsH5ABexoste9sZ4allhul8+Isw+4+uyrJm+3/C+jJ2jHlpGvl3J1GqoIA7AEAl+torG0TJJlkT+ns3o
n+ypv+2Vap9A/VRY0BzKzqZqfp1Y4gjmhB3gGWT65qH1CNO4u8xqmWwWtg6TWpkhzHaq/g8Y5q4Q9ZxWj896Pq8iTQTQYw4gFIBAMEYqPkapZQ7AOws4KEOBOQ4gTQK/CR35/CqwgFzauR+wikXwsF4eKoLsYNzUV4dwi6r2+F4faXI+VoNSuFMe84PF44F4N4D8eqZqGS56n7WVsNvUiJr+clTllHBG0oofCo+G3HRGxjEV8QvJmAgp1+2Vjo6n
UppVoBiphGKp+VR1u8OK91hpxKm4lphw6YTVkByczp/0cpC4eNb4I17Yw2KqIZ3c+ceBeNRcJg08h1mZ0WuZ7zBZ/zJZp80h1Zz1iLb1z4lWmE341ASQZE8gUQSQGAZAAAHQ4DNtQAAD5UAFt2Q7DSBMPgTGQkoEBsAoACOi7hBRAh9yAKBhTRTxTYOmBVRJWkPUP0OsOcP8A8OCPBgiOSOyOsOKORA5xnb0TlTpdRPXaCSPaIODIySKTghNQK26
SGTEp5OyFw61wOSohuSmnlN+T/Ak7IP0AGO4PmPEOUO0P1aCPOPuOsPeO2BiPSPyPwhKORO5SFSlSS60Ay7E0EBK6IdYU9S82m8xg+IlFmgpJjETxmhNBW9jgFt4hGg4B6ADlWRLHkWgiLNf4EVoy2p8QoiiyANnhXxpZjYjz+7/GRxdSL9W2iQsXiQXHUQq7qvaIr8FxPgrhGuEmbLWjuWEbUnz7nLL7BWBvsnp3pF76fL0aF2hVAqH68aeF12k
C1WUCt3hynWCG8Yqa+dabcA0rT2RMdW2ZHqDKFpUHoH5oxpubuBjF3gEQ3wJnP3KrCG+DrjXj/27cHysHnyQPXzWrwOa4OrtmVJdmvK+qSO5Y75NBThWxlDRpNRjFApiAxBZDi2HGA3Lm5dvhE2fnXQLCM3ZGURSKQWU0QuR5F5Egzl9AJp6bhLEX27rGntRo57l7r3umpZQym2gF6u4nClvgYQquT8m2eZlD+73gHHeZV7gbN8ReYRqJPsvhykp
eURB2yyxveWK2x3MmNfhWK2GjcaJWpWwDMbP537eNFXfKIAwqN3VvBzAHrfqYz2FyVj41Ap1z8CObbR/sbv/R8R4egmEdPv7zHigO/JnuNmybNv4rv2iGxatuNS/v5aAfKGlbfXaHsAitXmFCaXXgeHYeeAOHJ4UhsB4hsBj5F7S+i3Eg9xOw8e/npHCfiKs2Bc6gIByeqhEh9QKAoBi3sAOAzl6BlBNQj0pwYwUghBmh9JjgMuO6UXap8Q4MCQK
/KokUYjkg4VQlOuQcuZVcu3P4uYy14Qb5l6oQuxL8+3D/kGT/5cVyL+rKSzwbsVr+QU8RTY75/h1eJ3BucnMc4adfv+43fXlN3yYm8imi7ebtNwKY28VuSMf+utxio7s6mExHbklT278V2mx3cBnLCRA1JYGDAL3v1E+C+8T8RmLKlYmwZTNAer3YhvM0lo2tAOstJPuQxT6m4genVCQDsxGR7MR4fISCsYjsKGF+BS1FqK8GwDiDC+sXUNs0BCB
XAfw8IXmvEHr5psZGzfYnttVBa7UG8yjIsBiynBCAYwB3NcEdmVoVt94b/bFP70Cg8xykC4PxkPVsxDQ1ijweqLvwUFxk363dE4EGXgQFFpeLXXgKDWsrg0h2E7EdtWQFY44aUP/CbgbxXZW9Zu3GSAaAIlTLdICcA9VggKj5IDnW0iVAYez24cVMB57FYqNG+CEQ3wBrOzCQNAz2YfwC4e1i9wvI/s3WH3egRg3oI/dgOLxFgV61T4fly2VQLvO
yAQCoBNALWZgKgAAAUpJDkBQAACUEJWjsnWGHBAxhEw6YbMPriLDROjtCTtzlxL4l3aFmWTqHUWCQVlOTAYOoyXU4KhNOxPSOrp1jrlADOgpfAHRyGEjD1h/5SYTMN1DbC86BdIuuJx86kA1SfnALjqWC5aCXCVQKSM0GUCDBnAreOAMWBjCXB+gZyKcJIDEExhiwC2DikIAuqBBSOxGefgRDKhz1D43MD/niFDIepmgVLN4G+GmonAcMQvSBkND
agL0b4LUWlpfw2i4g/4vwR7ouHlw9cQhX/GlOEPSbY5r6evZjGK26LzsZWc3EpgtzKbKs+yqrDIWtykwbcchCfPIY02eHyJ5G5MTbO0zFwmpEguiC1EzQ/CvhQcx5T3ve39CXwtiIsE1vY05gjR8BkzU4pHxdazNWhN5doYs3twRE/4Hrf7n0LLod8jQjQV4J0F6AUBASZbK6llwPgepUgscCiCcE5iaV6RNEFqHDneBtsyoVUbSvGmeA3w1izUX
4K1A9EohGWaASljzDfDrQPU2Ic4H+lV7BCj6oQ6UdDVHb/9RugAzXoqMt4zdVRSQ9UVAKW4IFbeuo+3jU0NEx8xyJo3buaIcLfNDu2rEoUEkQwXB0s+Ay7qgA/AkDDExmE/gjgDEVUgxEAI8CGPe5hjrWHQwLDLgrQxjk+fQtgTWGTrFghgqAOMC9FDCoB9I4g+GKgEFzWBB8oaVAI0DM4Id7gnoY2sZwgBATBgIEuwrkHAmQSxAvoGCXBPEoISk
JTHFCfbVyB7CLMDUIMnq3WjODjEknI4YSVOG3DjsFw2klcNU5nC7h5FCOpySeF+JXhidd4YBOAmgS8JsACCVBKImwTE6pEl6IhOQksdARnnYuiqTBHl1NSMvf0NCLAANhwA7ECkHADgD6hAkGicoOoE1hZRMUqwBgMiQoBSQxxUQnkJqA8meShQlJEQFQhjDbgzGJ9OsjKOKA+SjIL0fyVkBckjc3J1RKdk5TCl+SApC2EAXO28nYBfJEUgKfqFN
5zjygGU8KbkEimBTOi8QnoolKylZBhh2o5cZAAKlJSsg4UeAfqPymZSipyUw4W7TYmhT6plU/QDh2okgjTWDk3qe1KyB0c+JnEpTulLalQBipFk8ZOXkXTTEKpY0/QCeF6zzJ+sFITrDNMKlzSAprcVvCJWITeTmAJPXUBgIswDRaIpsMXh2HPgnA8CZoC6fgCKFtjjEz/KWBUM+DfAHJRgNgAYCsn4ECAapGkGPlCSnB68q0g6VVKd4iZHe10by
RKBIA0ThpoUlGcQH1AIByKbYhyZjMFxsA7CG03AJoGCBNCIAmMujEPCki4cqg6tEUFMNNjyx2YLM5mdQCPpDQdha4RUsoBzCqh6ZygRmcig5kizeAYIDmRCEuCLDoZo09ErxialW1HoHcY0dkEVIFh46ueIeDkFJnkzS62kkikQFxmoBfOa4ROtkH1ngixM8pF9KCLVLQy7ATnPIO0ETpwBCZxMxOmTK/YH1SOhARgK3kBnnVDUxgkSmEGCC+y3I
JFb8qyX0DHSTUv4sDv0NVQGB2gmQCOWunPJpwuIkE+kv7MDk7VDJ4Ac1JN2CBVgjJDYIAA==
```
%%