Org Web Adapter

journals/2020_10_09.org

ID
7ac93224-f351-4f78-ba43-8ac4ff07c23f

2020-10-09 - Friday

[[id:010e5c72-3d51-45f3-bc3d-d4ac07fe11b8][Weekly Review]] with [[id:10b14f49-b275-45f5-b76b-fea159f0a75a][Andrii]]

ID
ccb77036-9e3f-4533-9e3f-63c33de64fc6

<2020-10-09 Fri 9:00-9:20>

Discussion on [[id:ef481268-f37b-43d0-b10b-1a52eb2d3236][Investigation of SAML login for Mobile]]

ID
085eea72-f05d-43bf-861b-a7bf10786c62

+ From iOS we sign in using a "Sign in via SAML" button

+ Link opens mobile safari (or default web browser, which could cause a problem)

+ SAML session goes through in Safari

+ No SAML token can be sniffed, but we could re-open the app with a GET parameter that points to an API endpoint with SAML response

[[id:2fa72963-2a50-4b64-8eb4-271c735ee818][Gusto Partnership]] kick-off

Present

+ Dallas Tester GU

+ Matt Smallwood GU

+ Ailin Zeng GU

+ Jeff Federman GU

+ Harry K FF

+ Kapil Gupta FF

+ Colin Powell FF

Zeng on why

+ Gusto in early phases of customer research

+ How do they perceive a relationship between payroll and performance?

+ A lot is being done manually

+ Perf mangement being done in word or Gdocs

+ Some have perf management tools, but minimally

+ Comp changes, adding employees or view perf report is done manually

+ Lot of opportunities that we can solve with integration

+ Manual time spent going back and forth

+ Creating, deleting users

+ How their compensation changes as a result of perf reviews

Integration path

+ Usually with more complex HRIS systems, predefined scope

+ Workday took two quarters

Data sync frequency

+ Nightly cronjob

+ Webhooks from Shopify

ID
42b9ccd0-7660-49a9-8b22-8b2b7de76dcc

[[id:e70ae393-e2c2-4e44-bbd8-bfd410a2c610][Friday Boost]]

[[id:7b5c0db6-16c7-447c-bd45-ace0f5ae1cdc][Friday Nature Hike]]

DONE Unblock [[id:d835101e-6d98-43a0-99d4-f74d5a1bb810][ENG-12734]] about investigating VPC support for Epic

CLOSED:

ID
deefd0d6-fa2e-41b5-99b2-ae19e7eb4e26

Using LocalStack to Test SFTP in 15Five

#+begin_src restclient :outputs none

POST https://15five.localhost/mobile/login?debug_api=1&check_signature=false

Content-Type: application/x-www-form-urlencoded

email=workday@15five.com&password=15five

#

#+end_src

#+begin_src restclient :output result

POST https://15five.localhost/sftp/receiver/

Content-Type: application/json

{ "Records": [ { "s3": { "object": { "key": "import.csv" } } } ] }

#+end_src

#+RESULTS:

#+begin_example

,#+BEGIN_SRC html

<!DOCTYPE html>

<html lang="en">

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8">

<meta name="robots" content="NONE,NOARCHIVE">

<title>StopIteration

at /sftp/receiver/</title>

<style type="text/css">

html * { padding:0; margin:0; }

body * { padding:10px 20px; }

body * * { padding:0; }

body { font:small sans-serif; background-color:#fff; color:#000; }

body>div { border-bottom:1px solid #ddd; }

h1 { font-weight:normal; }

h2 { margin-bottom:.8em; }

h3 { margin:1em 0 .5em 0; }

h4 { margin:0 0 .5em 0; font-weight: normal; }

code, pre { font-size: 100%; white-space: pre-wrap; }

table { border:1px solid #ccc; border-collapse: collapse; width:100%; background:white; }

tbody td, tbody th { vertical-align:top; padding:2px 3px; }

thead th {

padding:1px 6px 1px 3px; background:#fefefe; text-align:left;

font-weight:normal; font-size:11px; border:1px solid #ddd;

}

tbody th { width:12em; text-align:right; color:#666; padding-right:.5em; }

table.vars { margin:5px 0 2px 40px; }

table.vars td, table.req td { font-family:monospace; }

table td.code { width:100%; }

table td.code pre { overflow:hidden; }

table.source th { color:#666; }

table.source td { font-family:monospace; white-space:pre; border-bottom:1px solid #eee; }

ul.traceback { list-style-type:none; color: #222; }

ul.traceback li.frame { padding-bottom:1em; color:#4f4f4f; }

ul.traceback li.user { background-color:#e0e0e0; color:#000 }

div.context { padding:10px 0; overflow:hidden; }

div.context ol { padding-left:30px; margin:0 10px; list-style-position: inside; }

div.context ol li { font-family:monospace; white-space:pre; color:#777; cursor:pointer; padding-left: 2px; }

div.context ol li pre { display:inline; }

div.context ol.context-line li { color:#464646; background-color:#dfdfdf; padding: 3px 2px; }

div.context ol.context-line li span { position:absolute; right:32px; }

.user div.context ol.context-line li { background-color:#bbb; color:#000; }

.user div.context ol li { color:#666; }

div.commands { margin-left: 40px; }

div.commands a { color:#555; text-decoration:none; }

.user div.commands a { color: black; }

#summary { background: #ffc; }

#summary h2 { font-weight: normal; color: #666; }

#explanation { background:#eee; }

#template, #template-not-exist { background:#f6f6f6; }

#template-not-exist ul { margin: 0 0 10px 20px; }

#template-not-exist .postmortem-section { margin-bottom: 3px; }

#unicode-hint { background:#eee; }

#traceback { background:#eee; }

#requestinfo { background:#f6f6f6; padding-left:120px; }

#summary table { border:none; background:transparent; }

#requestinfo h2, #requestinfo h3 { position:relative; margin-left:-100px; }

#requestinfo h3 { margin-bottom:-1em; }

.error { background: #ffc; }

.specific { color:#cc3300; font-weight:bold; }

h2 span.commands { font-size:.7em; font-weight:normal; }

span.commands a:link {color:#5E5694;}

pre.exception_value { font-family: sans-serif; color: #575757; font-size: 1.5em; margin: 10px 0 10px 0; }

.append-bottom { margin-bottom: 10px; }

</style>

<script type="text/javascript">

function hideAll(elems) {

for (var e = 0; e < elems.length; e++) {

elems[e].style.display = 'none';

}

}

window.onload = function() {

hideAll(document.querySelectorAll('table.vars'));

hideAll(document.querySelectorAll('ol.pre-context'));

hideAll(document.querySelectorAll('ol.post-context'));

hideAll(document.querySelectorAll('div.pastebin'));

}

function toggle() {

for (var i = 0; i < arguments.length; i++) {

var e = document.getElementById(arguments[i]);

if (e) {

e.style.display = e.style.display == 'none' ? 'block': 'none';

}

}

return false;

}

function varToggle(link, id) {

toggle('v' + id);

var s = link.getElementsByTagName('span')[0];

var uarr = String.fromCharCode(0x25b6);

var darr = String.fromCharCode(0x25bc);

s.textContent = s.textContent == uarr ? darr : uarr;

return false;

}

function switchPastebinFriendly(link) {

s1 = "Switch to copy-and-paste view";

s2 = "Switch back to interactive view";

link.textContent = link.textContent.trim() == s1 ? s2: s1;

toggle('browserTraceback', 'pastebinTraceback');

return false;

}

</script>

</head>

<body>

<div id="summary">

<h1>StopIteration

at /sftp/receiver/</h1>

<pre class="exception_value">No exception message supplied</pre>

<table class="meta">

<tr>

<th>Request Method:</th>

<td>POST</td>

</tr>

<tr>

<th>Request URL:</th>

<td>https://15five.localhost/sftp/receiver/</td>

</tr>

<tr>

<th>Django Version:</th>

<td>2.2.13</td>

</tr>

<tr>

<th>Exception Type:</th>

<td>StopIteration</td>

</tr>

<tr>

<th>Exception Location:</th>

<td>/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/unicodecsv/py3.py in __next__, line 55</td>

</tr>

<tr>

<th>Python Executable:</th>

<td>/home/powellc/.virtualenvs/ff/bin/python</td>

</tr>

<tr>

<th>Python Version:</th>

<td>3.8.5</td>

</tr>

<tr>

<th>Python Path:</th>

<td><pre>[&#39;/home/powellc/src/github.com/15five/fifteen5&#39;,

&#39;/home/powellc/.virtualenvs/ff/bin&#39;,

&#39;/home/powellc/src/github.com/15five/fifteen5&#39;,

&#39;/home/powellc/.asdf/installs/python/3.8.5/lib/python38.zip&#39;,

&#39;/home/powellc/.asdf/installs/python/3.8.5/lib/python3.8&#39;,

&#39;/home/powellc/.asdf/installs/python/3.8.5/lib/python3.8/lib-dynload&#39;,

&#39;/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages&#39;]</pre></td>

</tr>

<tr>

<th>Server time:</th>

<td>Tue, 13 Oct 2020 11:18:07 -0700</td>

</tr>

</table>

</div>

<div id="traceback">

<h2>Traceback <span class="commands"><a href="#" onclick="return switchPastebinFriendly(this);">

Switch to copy-and-paste view</a></span>

</h2>

<div id="browserTraceback">

<ul class="traceback">

<li class="frame django">

<code>/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/core/handlers/exception.py</code> in <code>inner</code>

<div class="context" id="c140634057389376">

<ol start="27" class="pre-context" id="pre140634057389376">

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> This decorator is automatically applied to all middleware to ensure that</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> no middleware leaks an exception and that the next middleware in the stack</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> can rely on getting a response instead of an exception.</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> &quot;&quot;&quot;</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> @wraps(get_response)</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> def inner(request):</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> try:</pre></li>

</ol>

<ol start="34" class="context-line">

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> response = get_response(request)</pre> <span>…</span></li>

</ol>

<ol start='35' class="post-context" id="post140634057389376">

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> except Exception as exc:</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> response = response_for_exception(request, exc)</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> return response</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre> return inner</pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre></pre></li>

<li onclick="toggle('pre140634057389376', 'post140634057389376')"><pre></pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057389376')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057389376">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>exc</td>

<td class="code"><pre>StopIteration()</pre></td>

</tr>

<tr>

<td>get_response</td>

<td class="code"><pre>&lt;bound method BaseHandler._get_response of &lt;channels.http.AsgiHandler object at 0x7fe7ebfef3d0&gt;&gt;</pre></td>

</tr>

<tr>

<td>request</td>

<td class="code"><pre>&lt;AsgiRequest: POST &#39;/sftp/receiver/&#39;&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame django">

<code>/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>

<div class="context" id="c140634057391680">

<ol start="108" class="pre-context" id="pre140634057391680">

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> break</pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre></pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> if response is None:</pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> try:</pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> except Exception as e:</pre></li>

</ol>

<ol start="115" class="context-line">

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> response = self.process_exception_by_middleware(e, request)</pre> <span>…</span></li>

</ol>

<ol start='116' class="post-context" id="post140634057391680">

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre></pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> # Complain if the view returned None (a common error).</pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> if response is None:</pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> view_name = callback.__name__</pre></li>

<li onclick="toggle('pre140634057391680', 'post140634057391680')"><pre> else: # CBV</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057391680')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057391680">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>callback</td>

<td class="code"><pre>&lt;function ReceiverView at 0x7fe7f5b56b80&gt;</pre></td>

</tr>

<tr>

<td>callback_args</td>

<td class="code"><pre>()</pre></td>

</tr>

<tr>

<td>callback_kwargs</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>middleware_method</td>

<td class="code"><pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7fe7f4e34730&gt;&gt;</pre></td>

</tr>

<tr>

<td>request</td>

<td class="code"><pre>&lt;AsgiRequest: POST &#39;/sftp/receiver/&#39;&gt;</pre></td>

</tr>

<tr>

<td>resolver</td>

<td class="code"><pre>&lt;URLResolver &#39;ff.urls&#39; (None:None) &#39;^/&#39;&gt;</pre></td>

</tr>

<tr>

<td>resolver_match</td>

<td class="code"><pre>ResolverMatch(func=ff.mods.sftp.views.ReceiverView, args=(), kwargs={}, url_name=receiver, app_names=[&#39;sftp&#39;], namespaces=[&#39;sftp&#39;], route=sftp/receiver/)</pre></td>

</tr>

<tr>

<td>response</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>self</td>

<td class="code"><pre>&lt;channels.http.AsgiHandler object at 0x7fe7ebfef3d0&gt;</pre></td>

</tr>

<tr>

<td>wrapped_callback</td>

<td class="code"><pre>&lt;function ReceiverView at 0x7fe7f5b56b80&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame django">

<code>/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/core/handlers/base.py</code> in <code>_get_response</code>

<div class="context" id="c140634057391616">

<ol start="106" class="pre-context" id="pre140634057391616">

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> response = middleware_method(request, callback, callback_args, callback_kwargs)</pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> if response:</pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> break</pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre></pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> if response is None:</pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> wrapped_callback = self.make_view_atomic(callback)</pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> try:</pre></li>

</ol>

<ol start="113" class="context-line">

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> response = wrapped_callback(request, *callback_args, **callback_kwargs)</pre> <span>…</span></li>

</ol>

<ol start='114' class="post-context" id="post140634057391616">

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> except Exception as e:</pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> response = self.process_exception_by_middleware(e, request)</pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre></pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> # Complain if the view returned None (a common error).</pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> if response is None:</pre></li>

<li onclick="toggle('pre140634057391616', 'post140634057391616')"><pre> if isinstance(callback, types.FunctionType): # FBV</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057391616')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057391616">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>callback</td>

<td class="code"><pre>&lt;function ReceiverView at 0x7fe7f5b56b80&gt;</pre></td>

</tr>

<tr>

<td>callback_args</td>

<td class="code"><pre>()</pre></td>

</tr>

<tr>

<td>callback_kwargs</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>middleware_method</td>

<td class="code"><pre>&lt;bound method CsrfViewMiddleware.process_view of &lt;django.middleware.csrf.CsrfViewMiddleware object at 0x7fe7f4e34730&gt;&gt;</pre></td>

</tr>

<tr>

<td>request</td>

<td class="code"><pre>&lt;AsgiRequest: POST &#39;/sftp/receiver/&#39;&gt;</pre></td>

</tr>

<tr>

<td>resolver</td>

<td class="code"><pre>&lt;URLResolver &#39;ff.urls&#39; (None:None) &#39;^/&#39;&gt;</pre></td>

</tr>

<tr>

<td>resolver_match</td>

<td class="code"><pre>ResolverMatch(func=ff.mods.sftp.views.ReceiverView, args=(), kwargs={}, url_name=receiver, app_names=[&#39;sftp&#39;], namespaces=[&#39;sftp&#39;], route=sftp/receiver/)</pre></td>

</tr>

<tr>

<td>response</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>self</td>

<td class="code"><pre>&lt;channels.http.AsgiHandler object at 0x7fe7ebfef3d0&gt;</pre></td>

</tr>

<tr>

<td>wrapped_callback</td>

<td class="code"><pre>&lt;function ReceiverView at 0x7fe7f5b56b80&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame django">

<code>/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/views/generic/base.py</code> in <code>view</code>

<div class="context" id="c140634057391744">

<ol start="64" class="pre-context" id="pre140634057391744">

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> self.head = self.get</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> self.setup(request, *args, **kwargs)</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> if not hasattr(self, &#39;request&#39;):</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> raise AttributeError(</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> &quot;%s instance has no &#39;request&#39; attribute. Did you override &quot;</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> &quot;setup() and forget to call super()?&quot; % cls.__name__</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> )</pre></li>

</ol>

<ol start="71" class="context-line">

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> return self.dispatch(request, *args, **kwargs)</pre> <span>…</span></li>

</ol>

<ol start='72' class="post-context" id="post140634057391744">

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> view.view_class = cls</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> view.view_initkwargs = initkwargs</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre></pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> # take name and docstring from class</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre> update_wrapper(view, cls, updated=())</pre></li>

<li onclick="toggle('pre140634057391744', 'post140634057391744')"><pre></pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057391744')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057391744">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>args</td>

<td class="code"><pre>()</pre></td>

</tr>

<tr>

<td>cls</td>

<td class="code"><pre>&lt;class &#39;ff.mods.sftp.views.ReceiverView&#39;&gt;</pre></td>

</tr>

<tr>

<td>initkwargs</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>kwargs</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>request</td>

<td class="code"><pre>&lt;AsgiRequest: POST &#39;/sftp/receiver/&#39;&gt;</pre></td>

</tr>

<tr>

<td>self</td>

<td class="code"><pre>&lt;ff.mods.sftp.views.ReceiverView object at 0x7fe7eb657940&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame django">

<code>/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/utils/decorators.py</code> in <code>_wrapper</code>

<div class="context" id="c140634057391808">

<ol start="38" class="pre-context" id="pre140634057391808">

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> # bound_method has the signature that &#39;decorator&#39; expects i.e. no</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> # &#39;self&#39; argument, but it&#39;s a closure over self so it can call</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> # &#39;func&#39;. Also, wrap method.__get__() in a function because new</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> # attributes can&#39;t be set on bound method objects, only on functions.</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> bound_method = partial(method.__get__(self, type(self)))</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> for dec in decorators:</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> bound_method = dec(bound_method)</pre></li>

</ol>

<ol start="45" class="context-line">

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> return bound_method(*args, **kwargs)</pre> <span>…</span></li>

</ol>

<ol start='46' class="post-context" id="post140634057391808">

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre></pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> # Copy any attributes that a decorator adds to the function it decorates.</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> for dec in decorators:</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> _update_method_wrapper(_wrapper, dec)</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> # Preserve any existing attributes of &#39;method&#39;, including the name.</pre></li>

<li onclick="toggle('pre140634057391808', 'post140634057391808')"><pre> update_wrapper(_wrapper, method)</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057391808')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057391808">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>args</td>

<td class="code"><pre>(&lt;AsgiRequest: POST &#39;/sftp/receiver/&#39;&gt;,)</pre></td>

</tr>

<tr>

<td>bound_method</td>

<td class="code"><pre>&lt;function csrf_exempt.&lt;locals&gt;.wrapped_view at 0x7fe7eb708e50&gt;</pre></td>

</tr>

<tr>

<td>dec</td>

<td class="code"><pre>&lt;function csrf_exempt at 0x7fe80690d160&gt;</pre></td>

</tr>

<tr>

<td>decorators</td>

<td class="code"><pre>[&lt;function csrf_exempt at 0x7fe80690d160&gt;]</pre></td>

</tr>

<tr>

<td>kwargs</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>method</td>

<td class="code"><pre>&lt;function View.dispatch at 0x7fe8091ccd30&gt;</pre></td>

</tr>

<tr>

<td>self</td>

<td class="code"><pre>&lt;ff.mods.sftp.views.ReceiverView object at 0x7fe7eb657940&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame django">

<code>/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/views/decorators/csrf.py</code> in <code>wrapped_view</code>

<div class="context" id="c140634057391872">

<ol start="47" class="pre-context" id="pre140634057391872">

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre></pre></li>

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre></pre></li>

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre>def csrf_exempt(view_func):</pre></li>

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre> &quot;&quot;&quot;Mark a view function as being exempt from the CSRF view protection.&quot;&quot;&quot;</pre></li>

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre> # view_func.csrf_exempt = True would also work, but decorators are nicer</pre></li>

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre> # if they don&#39;t have side effects, so return a new function.</pre></li>

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre> def wrapped_view(*args, **kwargs):</pre></li>

</ol>

<ol start="54" class="context-line">

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre> return view_func(*args, **kwargs)</pre> <span>…</span></li>

</ol>

<ol start='55' class="post-context" id="post140634057391872">

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre> wrapped_view.csrf_exempt = True</pre></li>

<li onclick="toggle('pre140634057391872', 'post140634057391872')"><pre> return wraps(view_func)(wrapped_view)</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057391872')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057391872">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>args</td>

<td class="code"><pre>(&lt;AsgiRequest: POST &#39;/sftp/receiver/&#39;&gt;,)</pre></td>

</tr>

<tr>

<td>kwargs</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>view_func</td>

<td class="code"><pre>functools.partial(&lt;bound method View.dispatch of &lt;ff.mods.sftp.views.ReceiverView object at 0x7fe7eb657940&gt;&gt;)</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame django">

<code>/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/views/generic/base.py</code> in <code>dispatch</code>

<div class="context" id="c140634057391488">

<ol start="90" class="pre-context" id="pre140634057391488">

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> # Try to dispatch to the right method; if a method doesn&#39;t exist,</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> # defer to the error handler. Also defer to the error handler if the</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> # request method isn&#39;t on the approved list.</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> if request.method.lower() in self.http_method_names:</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> handler = getattr(self, request.method.lower(), self.http_method_not_allowed)</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> else:</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> handler = self.http_method_not_allowed</pre></li>

</ol>

<ol start="97" class="context-line">

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> return handler(request, *args, **kwargs)</pre> <span>…</span></li>

</ol>

<ol start='98' class="post-context" id="post140634057391488">

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre></pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> def http_method_not_allowed(self, request, *args, **kwargs):</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> logger.warning(</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> &#39;Method Not Allowed (%s): %s&#39;, request.method, request.path,</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> extra={&#39;status_code&#39;: 405, &#39;request&#39;: request}</pre></li>

<li onclick="toggle('pre140634057391488', 'post140634057391488')"><pre> )</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057391488')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057391488">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>args</td>

<td class="code"><pre>()</pre></td>

</tr>

<tr>

<td>handler</td>

<td class="code"><pre>&lt;bound method ReceiverView.post of &lt;ff.mods.sftp.views.ReceiverView object at 0x7fe7eb657940&gt;&gt;</pre></td>

</tr>

<tr>

<td>kwargs</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>request</td>

<td class="code"><pre>&lt;AsgiRequest: POST &#39;/sftp/receiver/&#39;&gt;</pre></td>

</tr>

<tr>

<td>self</td>

<td class="code"><pre>&lt;ff.mods.sftp.views.ReceiverView object at 0x7fe7eb657940&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame user">

<code>/home/powellc/src/github.com/15five/fifteen5/ff/mods/sftp/views.py</code> in <code>post</code>

<div class="context" id="c140634057391424">

<ol start="25" class="pre-context" id="pre140634057391424">

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre></pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre> # Track what keys have been sent via SFTP for</pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre> # easier debugging.</pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre> models.SFTPReceipt.objects.create(</pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre> config=request.user.company.sftp_config, key=key,</pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre> )</pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre> # Pull from s3, verify, and send to bulk import</pre></li>

</ol>

<ol start="32" class="context-line">

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre> process_key(request.user, key)</pre> <span>…</span></li>

</ol>

<ol start='33' class="post-context" id="post140634057391424">

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre></pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre> return JsonResponse({&#39;key&#39;: key})</pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre></pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre></pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre>class SettingsView(</pre></li>

<li onclick="toggle('pre140634057391424', 'post140634057391424')"><pre> build_company_feature_settings_view_mixin(&#39;integrations&#39;), ModelFormMixin, FormView</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057391424')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057391424">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>args</td>

<td class="code"><pre>()</pre></td>

</tr>

<tr>

<td>event</td>

<td class="code"><pre>{&#39;Records&#39;: [{&#39;s3&#39;: {&#39;object&#39;: {&#39;key&#39;: &#39;import.csv&#39;}}}]}</pre></td>

</tr>

<tr>

<td>key</td>

<td class="code"><pre>&#39;import.csv&#39;</pre></td>

</tr>

<tr>

<td>kwargs</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>request</td>

<td class="code"><pre>&lt;AsgiRequest: POST &#39;/sftp/receiver/&#39;&gt;</pre></td>

</tr>

<tr>

<td>self</td>

<td class="code"><pre>&lt;ff.mods.sftp.views.ReceiverView object at 0x7fe7eb657940&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame user">

<code>/home/powellc/src/github.com/15five/fifteen5/ff/mods/hris/workday/utils.py</code> in <code>process_key</code>

<div class="context" id="c140634057392000">

<ol start="82" class="pre-context" id="pre140634057392000">

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> supported_bulk_import_column_names = [col[0] for col in BULK_IMPORT_COLUMNS]</pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> bulk_csv_file = reduce_csv_file_columns(csv_file, supported_bulk_import_column_names)</pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> return bulk_csv_file</pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre></pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre></pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre>def process_key(assume_user, key) -&gt; None:</pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> original_csv_file = download_workday_csv_file(key)</pre></li>

</ol>

<ol start="89" class="context-line">

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> converted_csv_file = convert_workday_csv(original_csv_file)</pre> <span>…</span></li>

</ol>

<ol start='90' class="post-context" id="post140634057392000">

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre></pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> # send_to_bulk_import_now() creates a CSV object, calls verify_bulk_user_import(), returns</pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> # errors if it is unable to continue the import, then calls process_bulk_user_import_file().</pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> # Do we want to create groups?</pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> (</pre></li>

<li onclick="toggle('pre140634057392000', 'post140634057392000')"><pre> error_results,</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057392000')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057392000">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>assume_user</td>

<td class="code"><pre>&lt;SimpleLazyObject: &lt;SimpleLazyObject: (19819)workday@15five.com/50015&gt;&gt;</pre></td>

</tr>

<tr>

<td>key</td>

<td class="code"><pre>&#39;import.csv&#39;</pre></td>

</tr>

<tr>

<td>original_csv_file</td>

<td class="code"><pre>&lt;_io.BytesIO object at 0x7fe7eb5a4ef0&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame user">

<code>/home/powellc/src/github.com/15five/fifteen5/ff/mods/hris/workday/utils.py</code> in <code>convert_workday_csv</code>

<div class="context" id="c140634057392064">

<ol start="76" class="pre-context" id="pre140634057392064">

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre>def convert_workday_csv(csv_file: BinaryIO) -&gt; BinaryIO:</pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> &quot;&quot;&quot;</pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> Helper method that converts a Workday CSV file into an</pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> appropriate format suitable for Bulk Import usage</pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> &quot;&quot;&quot;</pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> logger.info(f&#39;Converting Workday CSV into Bulk Import compatible CSV&#39;)</pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> supported_bulk_import_column_names = [col[0] for col in BULK_IMPORT_COLUMNS]</pre></li>

</ol>

<ol start="83" class="context-line">

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> bulk_csv_file = reduce_csv_file_columns(csv_file, supported_bulk_import_column_names)</pre> <span>…</span></li>

</ol>

<ol start='84' class="post-context" id="post140634057392064">

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> return bulk_csv_file</pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre></pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre></pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre>def process_key(assume_user, key) -&gt; None:</pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> original_csv_file = download_workday_csv_file(key)</pre></li>

<li onclick="toggle('pre140634057392064', 'post140634057392064')"><pre> converted_csv_file = convert_workday_csv(original_csv_file)</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057392064')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057392064">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>csv_file</td>

<td class="code"><pre>&lt;_io.BytesIO object at 0x7fe7eb5a4ef0&gt;</pre></td>

</tr>

<tr>

<td>supported_bulk_import_column_names</td>

<td class="code"><pre>[&#39;email&#39;,

&#39;first_name&#39;,

&#39;last_name&#39;,

&#39;title&#39;,

&#39;due_day&#39;,

&#39;reviewer_email&#39;,

&#39;time_zone&#39;,

&#39;add_to_groups&#39;,

&#39;remove_from_groups&#39;,

&#39;active_group_names&#39;,

&#39;is_active&#39;,

&#39;location&#39;,

&#39;employee_id&#39;,

&#39;job_description&#39;,

&#39;strengths&#39;,

&#39;saml_user_id&#39;,

&#39;change_email_to&#39;,

&#39;send_welcome_from&#39;,

&#39;start_date&#39;,

&#39;is_group_admin_for&#39;]</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame user">

<code>/home/powellc/src/github.com/15five/fifteen5/ff/mods/hris/workday/utils.py</code> in <code>reduce_csv_file_columns</code>

<div class="context" id="c140634057391936">

<ol start="54" class="pre-context" id="pre140634057391936">

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre>def reduce_csv_file_columns(csv_file: BinaryIO, columns_to_keep: List) -&gt; BinaryIO:</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> &quot;&quot;&quot;Returns a file with only the specified columns from given CSV file&quot;&quot;&quot;</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> # Prepare to write an in memory CSV file with only the columns we want</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> in_memory_csv_file = io.BytesIO()</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> writer = SanitizedCSVDictWriter(in_memory_csv_file, columns_to_keep)</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> reader = get_csv_dict_reader(convert_to_bytes_io(csv_file), columns_to_keep)</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> # We have our field names, burn the header row</pre></li>

</ol>

<ol start="61" class="context-line">

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> next(reader)</pre> <span>…</span></li>

</ol>

<ol start='62' class="post-context" id="post140634057391936">

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre></pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> writer.writeheader()</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> for row in reader:</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> # All columns not in our field names will have a key of None, throw them out or pass if there are none</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> try:</pre></li>

<li onclick="toggle('pre140634057391936', 'post140634057391936')"><pre> del row[None]</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634057391936')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634057391936">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>columns_to_keep</td>

<td class="code"><pre>[&#39;email&#39;,

&#39;first_name&#39;,

&#39;last_name&#39;,

&#39;title&#39;,

&#39;due_day&#39;,

&#39;reviewer_email&#39;,

&#39;time_zone&#39;,

&#39;add_to_groups&#39;,

&#39;remove_from_groups&#39;,

&#39;active_group_names&#39;,

&#39;is_active&#39;,

&#39;location&#39;,

&#39;employee_id&#39;,

&#39;job_description&#39;,

&#39;strengths&#39;,

&#39;saml_user_id&#39;,

&#39;change_email_to&#39;,

&#39;send_welcome_from&#39;,

&#39;start_date&#39;,

&#39;is_group_admin_for&#39;]</pre></td>

</tr>

<tr>

<td>csv_file</td>

<td class="code"><pre>&lt;_io.BytesIO object at 0x7fe7eb5a4ef0&gt;</pre></td>

</tr>

<tr>

<td>in_memory_csv_file</td>

<td class="code"><pre>&lt;_io.BytesIO object at 0x7fe7ea800a40&gt;</pre></td>

</tr>

<tr>

<td>reader</td>

<td class="code"><pre>&lt;unicodecsv.py3.DictReader object at 0x7fe7ea86daf0&gt;</pre></td>

</tr>

<tr>

<td>writer</td>

<td class="code"><pre>&lt;ff.core.csv_exports.SanitizedCSVDictWriter object at 0x7fe7ea86db20&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame user">

<code>/home/powellc/.asdf/installs/python/3.8.5/lib/python3.8/csv.py</code> in <code>__next__</code>

<div class="context" id="c140634063896320">

<ol start="104" class="pre-context" id="pre140634063896320">

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> def fieldnames(self, value):</pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> self._fieldnames = value</pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre></pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> def __next__(self):</pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> if self.line_num == 0:</pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> # Used only for its side effect.</pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> self.fieldnames</pre></li>

</ol>

<ol start="111" class="context-line">

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> row = next(self.reader)</pre> <span>…</span></li>

</ol>

<ol start='112' class="post-context" id="post140634063896320">

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> self.line_num = self.reader.line_num</pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre></pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> # unlike the basic reader, we prefer not to return blanks,</pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> # because we will typically wind up with a dict full of None</pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> # values</pre></li>

<li onclick="toggle('pre140634063896320', 'post140634063896320')"><pre> while row == []:</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634063896320')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634063896320">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>self</td>

<td class="code"><pre>&lt;unicodecsv.py3.DictReader object at 0x7fe7ea86daf0&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

<li class="frame user">

<code>/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/unicodecsv/py3.py</code> in <code>__next__</code>

<div class="context" id="c140634048794816">

<ol start="48" class="pre-context" id="pre140634048794816">

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> for kwd_name in kwds.keys()]):</pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> dialect = csv.excel</pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre></pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> f = (bs.decode(encoding, errors=errors) for bs in f)</pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> self.reader = csv.reader(f, dialect, **kwds)</pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre></pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> def __next__(self):</pre></li>

</ol>

<ol start="55" class="context-line">

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> return self.reader.__next__()</pre> <span>…</span></li>

</ol>

<ol start='56' class="post-context" id="post140634048794816">

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre></pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> def __iter__(self):</pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> return self</pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre></pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> @property</pre></li>

<li onclick="toggle('pre140634048794816', 'post140634048794816')"><pre> def dialect(self):</pre></li>

</ol>

</div>

<div class="commands">

<a href="#" onclick="return varToggle(this, '140634048794816')"><span>&#x25b6;</span> Local vars</a>

</div>

<table class="vars" id="v140634048794816">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>self</td>

<td class="code"><pre>&lt;unicodecsv.py3.UnicodeReader object at 0x7fe7eb0bca60&gt;</pre></td>

</tr>

</tbody>

</table>

</li>

</ul>

</div>

<form action="http://dpaste.com/" name="pasteform" id="pasteform" method="post">

<div id="pastebinTraceback" class="pastebin">

<input type="hidden" name="language" value="PythonConsole">

<input type="hidden" name="title"

value="StopIteration at /sftp/receiver/">

<input type="hidden" name="source" value="Django Dpaste Agent">

<input type="hidden" name="poster" value="Django">

<textarea name="content" id="traceback_area" cols="140" rows="25">

Environment:

Request Method: POST

Request URL: https://15five.localhost/sftp/receiver/

Django Version: 2.2.13

Python Version: 3.8.5

Installed Applications:

[&#39;django.contrib.auth&#39;,

&#39;django.contrib.contenttypes&#39;,

&#39;django.contrib.sessions&#39;,

&#39;django.contrib.sites&#39;,

&#39;django.contrib.messages&#39;,

&#39;django.contrib.staticfiles&#39;,

&#39;django.contrib.admin&#39;,

&#39;django.contrib.humanize&#39;,

&#39;django.contrib.postgres&#39;,

&#39;django.forms&#39;,

&#39;ajax_select&#39;,

&#39;ff&#39;,

&#39;ff.mods.admin&#39;,

&#39;ff.mods.answer&#39;,

&#39;ff.mods.account&#39;,

&#39;ff.mods.api&#39;,

&#39;ff.mods.attachments&#39;,

&#39;ff.mods.attributes&#39;,

&#39;ff.mods.avatars&#39;,

&#39;ff.mods.best_self_academy_sso&#39;,

&#39;ff.mods.best_self_kickoff&#39;,

&#39;ff.mods.billing&#39;,

&#39;ff.mods.bulkimport&#39;,

&#39;ff.mods.bundles&#39;,

&#39;ff.mods.calendar&#39;,

&#39;ff.mods.comments&#39;,

&#39;ff.mods.company&#39;,

&#39;ff.mods.contentdisplay&#39;,

&#39;ff.mods.customer&#39;,

&#39;ff.mods.custom_report&#39;,

&#39;ff.mods.dashboard&#39;,

&#39;ff.mods.dev_company&#39;,

&#39;ff.mods.devops&#39;,

&#39;ff.mods.digest&#39;,

&#39;ff.mods.email&#39;,

&#39;ff.mods.engagement&#39;,

&#39;ff.mods.expansion&#39;,

&#39;ff.mods.external_services.churnzero&#39;,

&#39;ff.mods.external_services.intercom&#39;,

&#39;ff.mods.external_services.qualtrics&#39;,

&#39;ff.mods.external_services.salesforce&#39;,

&#39;ff.mods.features&#39;,

&#39;ff.mods.followers&#39;,

&#39;ff.mods.followups&#39;,

&#39;ff.mods.freemium&#39;,

&#39;ff.mods.goals&#39;,

&#39;ff.mods.group&#39;,

&#39;ff.mods.healthcheck&#39;,

&#39;ff.mods.high_fives&#39;,

&#39;ff.mods.hris.bamboo_hr&#39;,

&#39;ff.mods.hris.namely&#39;,

&#39;ff.mods.hris.workday&#39;,

&#39;ff.mods.jira&#39;,

&#39;ff.mods.maintenance&#39;,

&#39;ff.mods.mentions&#39;,

&#39;ff.mods.metrics&#39;,

&#39;ff.mods.msteams&#39;,

&#39;ff.mods.newsfeed&#39;,

&#39;ff.mods.notifications&#39;,

&#39;ff.mods.objectives&#39;,

&#39;ff.mods.okr&#39;,

&#39;ff.mods.old_stats&#39;,

&#39;ff.mods.one_offs&#39;,

&#39;ff.mods.onboarding&#39;,

&#39;ff.mods.one_on_one&#39;,

&#39;ff.mods.people_segments&#39;,

&#39;ff.mods.profile&#39;,

&#39;ff.mods.property_store&#39;,

&#39;ff.mods.question&#39;,

&#39;ff.mods.reactions&#39;,

&#39;ff.mods.realtime_feedback&#39;,

&#39;ff.mods.report&#39;,

&#39;ff.mods.reporting.feedback&#39;,

&#39;ff.mods.reporting.one_on_one_reports&#39;,

&#39;ff.mods.reporting.sentiment_analysis&#39;,

&#39;ff.mods.reviews&#39;,

&#39;ff.mods.saml2&#39;,

&#39;ff.mods.salesforce&#39;,

&#39;ff.mods.scim&#39;,

&#39;ff.mods.sftp&#39;,

&#39;ff.mods.security_audit&#39;,

&#39;ff.mods.sentiment&#39;,

&#39;ff.mods.slack&#39;,

&#39;ff.mods.splittesting&#39;,

&#39;ff.mods.sql_reports&#39;,

&#39;ff.mods.stats&#39;,

&#39;ff.mods.survey&#39;,

&#39;ff.mods.tags&#39;,

&#39;ff.mods.question_bank&#39;,

&#39;ff.mods.url_shortener&#39;,

&#39;ff.mods.vacations&#39;,

&#39;ff.mods.wins&#39;,

&#39;ff.mods.zapier&#39;,

&#39;simple_history&#39;,

&#39;social_django&#39;,

&#39;crispy_forms&#39;,

&#39;django_extensions&#39;,

&#39;compressor&#39;,

&#39;django_js_reverse&#39;,

&#39;import_export&#39;,

&#39;distributedlock&#39;,

&#39;macros&#39;,

&#39;recurly&#39;,

&#39;django_otp&#39;,

&#39;django_otp.plugins.otp_static&#39;,

&#39;django_otp.plugins.otp_totp&#39;,

&#39;two_factor&#39;,

&#39;push_notifications&#39;,

&#39;fcm_django&#39;,

&#39;app_overrides&#39;,

&#39;webpack_loader&#39;,

&#39;widget_tweaks&#39;,

&#39;rest_framework&#39;,

&#39;graphene_django&#39;,

&#39;oauth2_provider&#39;,

&#39;django_filters&#39;,

&#39;channels&#39;,

&#39;snowplow_tracker&#39;,

&#39;djangoql&#39;,

&#39;django_ltree&#39;,

&#39;waffle&#39;,

&#39;debug_toolbar&#39;,

&#39;sandbox.common&#39;,

&#39;ff.mods.internal_tools&#39;,

&#39;sandbox.piotr_dev&#39;,

&#39;sandbox.paul_dev.oauth&#39;]

Installed Middleware:

(&#39;debug_toolbar.middleware.DebugToolbarMiddleware&#39;,

&#39;ff.core.middleware.append_slash_middleware&#39;,

&#39;ff.core.middleware.FifteenFiveEarlyMiddleware&#39;,

&#39;django.middleware.common.CommonMiddleware&#39;,

&#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,

&#39;ff.mods.msteams.middleware.msteams_auth_middleware&#39;,

&#39;oauth2_provider.middleware.OAuth2TokenMiddleware&#39;,

&#39;ff.mods.scim.middleware.CustomSCIMAuthCheckMiddleware&#39;,

&#39;django.middleware.csrf.CsrfViewMiddleware&#39;,

&#39;django.contrib.messages.middleware.MessageMiddleware&#39;,

&#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,

&#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;,

&#39;django_otp.middleware.OTPMiddleware&#39;,

&#39;ff.core.middleware.FifteenFiveCentralMiddleware&#39;,

&#39;social_django.middleware.SocialAuthExceptionMiddleware&#39;,

&#39;waffle.middleware.WaffleMiddleware&#39;,

&#39;ff.core.middleware.FifteenFiveLateMiddleware&#39;,

&#39;ff.core.middleware.PerformanceAlertingMiddleware&#39;)

Traceback:

File "/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/core/handlers/exception.py" in inner

34. response = get_response(request)

File "/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response

115. response = self.process_exception_by_middleware(e, request)

File "/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response

113. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/views/generic/base.py" in view

71. return self.dispatch(request, *args, **kwargs)

File "/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/utils/decorators.py" in _wrapper

45. return bound_method(*args, **kwargs)

File "/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/views/decorators/csrf.py" in wrapped_view

54. return view_func(*args, **kwargs)

File "/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/django/views/generic/base.py" in dispatch

97. return handler(request, *args, **kwargs)

File "/home/powellc/src/github.com/15five/fifteen5/ff/mods/sftp/views.py" in post

32. process_key(request.user, key)

File "/home/powellc/src/github.com/15five/fifteen5/ff/mods/hris/workday/utils.py" in process_key

89. converted_csv_file = convert_workday_csv(original_csv_file)

File "/home/powellc/src/github.com/15five/fifteen5/ff/mods/hris/workday/utils.py" in convert_workday_csv

83. bulk_csv_file = reduce_csv_file_columns(csv_file, supported_bulk_import_column_names)

File "/home/powellc/src/github.com/15five/fifteen5/ff/mods/hris/workday/utils.py" in reduce_csv_file_columns

61. next(reader)

File "/home/powellc/.asdf/installs/python/3.8.5/lib/python3.8/csv.py" in __next__

111. row = next(self.reader)

File "/home/powellc/.virtualenvs/ff/lib/python3.8/site-packages/unicodecsv/py3.py" in __next__

55. return self.reader.__next__()

Exception Type: StopIteration at /sftp/receiver/

Exception Value:

</textarea>

<br><br>

<input type="submit" value="Share this traceback on a public website">

</div>

</form>

</div>

<div id="requestinfo">

<h2>Request information</h2>

<h3 id="user-info">USER</h3>

<p>Workday Admin</p>

<h3 id="get-info">GET</h3>

<p>No GET data</p>

<h3 id="post-info">POST</h3>

<p>No POST data</p>

<h3 id="files-info">FILES</h3>

<p>No FILES data</p>

<h3 id="cookie-info">COOKIES</h3>

<table class="req">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>sessionid</td>

<td class="code"><pre>&#39;cqo1g6bzzziolcn5gq2e1m5c7ax5fngm&#39;</pre></td>

</tr>

<tr>

<td>ffRef</td>

<td class="code"><pre>&#39;~GET=debug_api=1&amp;check_signature=false&#39;</pre></td>

</tr>

<tr>

<td>ff_csrf_token</td>

<td class="code"><pre>&#39;n15f1Eh1Ters2aGg9npbFxuWSIVKqL5NvpwD2RFheLPA9UVL72KdaGdjkjN4WTjU&#39;</pre></td>

</tr>

</tbody>

</table>

<h3 id="meta-info">META</h3>

<table class="req">

<thead>

<tr>

<th>Variable</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>CONTENT_LENGTH</td>

<td class="code"><pre>&#39;66&#39;</pre></td>

</tr>

<tr>

<td>CONTENT_TYPE</td>

<td class="code"><pre>&#39;application/json&#39;</pre></td>

</tr>

<tr>

<td>CSRF_COOKIE</td>

<td class="code"><pre>&#39;n15f1Eh1Ters2aGg9npbFxuWSIVKqL5NvpwD2RFheLPA9UVL72KdaGdjkjN4WTjU&#39;</pre></td>

</tr>

<tr>

<td>HTTP_ACCEPT</td>

<td class="code"><pre>&#39;*/*&#39;</pre></td>

</tr>

<tr>

<td>HTTP_ACCEPT_ENCODING</td>

<td class="code"><pre>&#39;gzip&#39;</pre></td>

</tr>

<tr>

<td>HTTP_CONNECTION</td>

<td class="code"><pre>&#39;close&#39;</pre></td>

</tr>

<tr>

<td>HTTP_COOKIE</td>

<td class="code"><pre>(&#39;sessionid=cqo1g6bzzziolcn5gq2e1m5c7ax5fngm; &#39;

&#39;ffRef=~GET=debug_api=1&amp;check_signature=false; &#39;

&#39;ff_csrf_token=n15f1Eh1Ters2aGg9npbFxuWSIVKqL5NvpwD2RFheLPA9UVL72KdaGdjkjN4WTjU&#39;)</pre></td>

</tr>

<tr>

<td>HTTP_EXTENSION</td>

<td class="code"><pre>&#39;Security/Digest Security/SSL&#39;</pre></td>

</tr>

<tr>

<td>HTTP_HOST</td>

<td class="code"><pre>&#39;15five.localhost&#39;</pre></td>

</tr>

<tr>

<td>HTTP_MIME_VERSION</td>

<td class="code"><pre>&#39;1.0&#39;</pre></td>

</tr>

<tr>

<td>HTTP_X_FORWARDED_FOR</td>

<td class="code"><pre>&#39;127.0.0.1&#39;</pre></td>

</tr>

<tr>

<td>HTTP_X_FORWARDED_PORT</td>

<td class="code"><pre>&#39;443&#39;</pre></td>

</tr>

<tr>

<td>HTTP_X_FORWARDED_PROTO</td>

<td class="code"><pre>&#39;https&#39;</pre></td>

</tr>

<tr>

<td>PATH_INFO</td>

<td class="code"><pre>&#39;/sftp/receiver/&#39;</pre></td>

</tr>

<tr>

<td>QUERY_STRING</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>REMOTE_ADDR</td>

<td class="code"><pre>&#39;127.0.0.1&#39;</pre></td>

</tr>

<tr>

<td>REMOTE_HOST</td>

<td class="code"><pre>&#39;127.0.0.1&#39;</pre></td>

</tr>

<tr>

<td>REMOTE_PORT</td>

<td class="code"><pre>41878</pre></td>

</tr>

<tr>

<td>REQUEST_METHOD</td>

<td class="code"><pre>&#39;POST&#39;</pre></td>

</tr>

<tr>

<td>SCRIPT_NAME</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>SERVER_NAME</td>

<td class="code"><pre>&#39;127.0.0.1&#39;</pre></td>

</tr>

<tr>

<td>SERVER_PORT</td>

<td class="code"><pre>&#39;8000&#39;</pre></td>

</tr>

<tr>

<td>wsgi.multiprocess</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>wsgi.multithread</td>

<td class="code"><pre>True</pre></td>

</tr>

</tbody>

</table>

<h3 id="settings-info">Settings</h3>

<h4>Using settings module <code>ff.settings.dev.colin</code></h4>

<table class="req">

<thead>

<tr>

<th>Setting</th>

<th>Value</th>

</tr>

</thead>

<tbody>

<tr>

<td>ABSOLUTE_URL_OVERRIDES</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>ADMINS</td>

<td class="code"><pre>((&#39;Colin Powell&#39;, &#39;colin.powell@15five.com&#39;),)</pre></td>

</tr>

<tr>

<td>ADMIN_SUBDOMAIN</td>

<td class="code"><pre>&#39;admin&#39;</pre></td>

</tr>

<tr>

<td>AJAX_SELECT_BOOTSTRAP</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>ALLOWED_HOSTS</td>

<td class="code"><pre>[&#39;*&#39;]</pre></td>

</tr>

<tr>

<td>ALLOW_ADMIN_PLAINTEXT_VIEW_COMPANY_REGEXES</td>

<td class="code"><pre>(re.compile(&#39;.*&#39;),)</pre></td>

</tr>

<tr>

<td>API_SUBDOMAIN</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>APPEND_SLASH</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>ASGI_APPLICATION</td>

<td class="code"><pre>&#39;ff.routing.application&#39;</pre></td>

</tr>

<tr>

<td>AUTHENTICATION_BACKENDS</td>

<td class="code"><pre>(&#39;ff.mods.account.backends.FFModelBackend&#39;,

&#39;ff.mods.account.backends.AdminLoginAsAuthBackend&#39;,

&#39;ff.mods.account.backends.AdminLoginAsExitAuthBackend&#39;,

&#39;ff.mods.onboarding.authentication.OnboardingAutoLoginAuthBackend&#39;,

&#39;ff.mods.account.backends.TempPasswordAutoLoginBackend&#39;,

&#39;ff.mods.saml2.backends.SAML2Backend&#39;,

&#39;social_core.backends.google.GoogleOAuth2&#39;,

&#39;social_core.backends.google.GooglePlusAuth&#39;,

&#39;oauth2_provider.backends.OAuth2Backend&#39;,

&#39;ff.mods.sftp.backends.SFTPBackend&#39;)</pre></td>

</tr>

<tr>

<td>AUTH_PASSWORD_VALIDATORS</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>AUTH_SUBDOMAIN</td>

<td class="code"><pre>&#39;auth&#39;</pre></td>

</tr>

<tr>

<td>AUTH_USER_MODEL</td>

<td class="code"><pre>&#39;ff.User&#39;</pre></td>

</tr>

<tr>

<td>AUTO_GENERATE_AVATAR_SIZES</td>

<td class="code"><pre>(25, 27, 30, 34, 48, 100)</pre></td>

</tr>

<tr>

<td>AVATAR_PROCESSING_ON_S3</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>AWS_DEFAULT_ACL</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>AWS_ENDPOINT_URL</td>

<td class="code"><pre>&#39;http://localhost:4566&#39;</pre></td>

</tr>

<tr>

<td>AWS_S3_COMPANY_EXPORT_BUILD_MAX_AGE</td>

<td class="code"><pre>86400</pre></td>

</tr>

<tr>

<td>AWS_S3_COMPANY_EXPORT_URL_EXPIRES_IN</td>

<td class="code"><pre>86400</pre></td>

</tr>

<tr>

<td>AWS_S3_OBJECT_PARAMETERS</td>

<td class="code"><pre>{&#39;SSEKMSKeyId&#39;: &#39;********************&#39;, &#39;ServerSideEncryption&#39;: &#39;aws:kms&#39;}</pre></td>

</tr>

<tr>

<td>AWS_STORAGE_BUCKET_NAME_PRIVATE</td>

<td class="code"><pre>&#39;local&#39;</pre></td>

</tr>

<tr>

<td>AWS_STORAGE_BUCKET_NAME_PUBLIC</td>

<td class="code"><pre>&#39;local&#39;</pre></td>

</tr>

<tr>

<td>BAMBOO_HR_OPENID_APP_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>BAMBOO_HR_OPENID_CLIENT_ID</td>

<td class="code"><pre>&#39;15five-bamboohr-7.17.2017&#39;</pre></td>

</tr>

<tr>

<td>BAMBOO_HR_OPENID_CLIENT_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>BASE_QUALTRICS_API_URL</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>BEST_SELF_ACADEMY_API_PRIVATE_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>BEST_SELF_ACADEMY_SCHOOL_NAME</td>

<td class="code"><pre>&#39;15five&#39;</pre></td>

</tr>

<tr>

<td>BILLING_EMAIL</td>

<td class="code"><pre>&#39;billing@15fiveit.com&#39;</pre></td>

</tr>

<tr>

<td>BIWEEKLY_REFERENCE_WEEK_START</td>

<td class="code"><pre>datetime.date(2001, 1, 1)</pre></td>

</tr>

<tr>

<td>CACHES</td>

<td class="code"><pre>{&#39;debug-panel&#39;: {&#39;BACKEND&#39;: &#39;django.core.cache.backends.locmem.LocMemCache&#39;,

&#39;LOCATION&#39;: &#39;debug-panel-cache&#39;},

&#39;default&#39;: {&#39;BACKEND&#39;: &#39;django_redis.cache.RedisCache&#39;,

&#39;LOCATION&#39;: &#39;redis://127.0.0.1:6379/&#39;,

&#39;OPTIONS&#39;: {&#39;CLIENT_CLASS&#39;: &#39;django_redis.client.DefaultClient&#39;,

&#39;SERIALIZER&#39;: &#39;ff.DjangoRedisOverrideJSONSerializer&#39;}},

&#39;local&#39;: {&#39;BACKEND&#39;: &#39;django.core.cache.backends.locmem.LocMemCache&#39;,

&#39;LOCATION&#39;: &#39;base-cache&#39;}}</pre></td>

</tr>

<tr>

<td>CACHE_MIDDLEWARE_ALIAS</td>

<td class="code"><pre>&#39;default&#39;</pre></td>

</tr>

<tr>

<td>CACHE_MIDDLEWARE_KEY_PREFIX</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>CACHE_MIDDLEWARE_SECONDS</td>

<td class="code"><pre>600</pre></td>

</tr>

<tr>

<td>CELERY_BROKER_URL</td>

<td class="code"><pre>&#39;redis://127.0.0.1:6379/&#39;</pre></td>

</tr>

<tr>

<td>CELERY_TASK_ALWAYS_EAGER</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>CELERY_TASK_DEFAULT_QUEUE</td>

<td class="code"><pre>&#39;celery&#39;</pre></td>

</tr>

<tr>

<td>CELERY_TASK_EAGER_PROPAGATES</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>CELERY_TASK_IGNORE_RESULT</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>CELERY_TASK_QUEUES_METADATA</td>

<td class="code"><pre>{&#39;bundle&#39;: {&#39;warning_size&#39;: 100},

&#39;celery&#39;: {&#39;warning_size&#39;: 100},

&#39;external&#39;: {&#39;warning_size&#39;: 10000},

&#39;notification&#39;: {&#39;warning_size&#39;: 100},

&#39;ordered&#39;: {&#39;warning_size&#39;: 10},

&#39;snowplow&#39;: {&#39;warning_size&#39;: 1000}}</pre></td>

</tr>

<tr>

<td>CELERY_TASK_ROUTES</td>

<td class="code"><pre>{&#39;ff.mods.account.*&#39;: {&#39;queue&#39;: &#39;test6&#39;},

&#39;ff.mods.answer.*&#39;: {&#39;queue&#39;: &#39;test5&#39;},

&#39;ff.mods.api.*&#39;: &#39;********************&#39;,

&#39;ff.mods.avatars.*&#39;: {&#39;queue&#39;: &#39;test4&#39;},

&#39;ff.mods.billing.recurlydata.subscriptions.update_billing_add_ons&#39;: {&#39;queue&#39;: &#39;ordered&#39;},

&#39;ff.mods.billing.recurlydata.subscriptions.update_subscription_add_ons_in_recurly&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.billing.tasks.start_charging_for_user&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.billing.tasks.stop_charging_for_user&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.bulkimport.*&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.bundles.tasks.build_bundle_cache&#39;: {&#39;queue&#39;: &#39;bundle&#39;},

&#39;ff.mods.calendar.*&#39;: {&#39;queue&#39;: &#39;test6&#39;},

&#39;ff.mods.comments.*&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.company.*&#39;: {&#39;queue&#39;: &#39;test2&#39;},

&#39;ff.mods.custom_report.tasks.generate_custom_report&#39;: {&#39;queue&#39;: &#39;test5&#39;},

&#39;ff.mods.custom_report.tasks.send_custom_report_build_completed_notif_task&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.dashboard.*&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.dev_company.*&#39;: {&#39;queue&#39;: &#39;test6&#39;},

&#39;ff.mods.email.*&#39;: {&#39;queue&#39;: &#39;test4&#39;},

&#39;ff.mods.engagement.*&#39;: {&#39;queue&#39;: &#39;test6&#39;},

&#39;ff.mods.external_services.*&#39;: {&#39;queue&#39;: &#39;external&#39;},

&#39;ff.mods.group.*&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.high_fives.*&#39;: {&#39;queue&#39;: &#39;test2&#39;},

&#39;ff.mods.hris.*&#39;: {&#39;queue&#39;: &#39;test5&#39;},

&#39;ff.mods.jira.*&#39;: {&#39;queue&#39;: &#39;test3&#39;},

&#39;ff.mods.mentions.*&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.notifications.*&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.objectives.*&#39;: {&#39;queue&#39;: &#39;test2&#39;},

&#39;ff.mods.onboarding.*&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.one_offs.*&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.one_on_one.*&#39;: {&#39;queue&#39;: &#39;test3&#39;},

&#39;ff.mods.realtime_feedback.*&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.report.tasks.all_in_one&#39;: {&#39;queue&#39;: &#39;test1&#39;},

&#39;ff.mods.report.tasks.create_report_placeholder_for_due_date_and_company_users&#39;: {&#39;queue&#39;: &#39;test1&#39;},

&#39;ff.mods.report.tasks.mark_reports_for_users_as_private&#39;: {&#39;queue&#39;: &#39;test1&#39;},

&#39;ff.mods.report.tasks.on_draft_report_creation&#39;: {&#39;queue&#39;: &#39;test1&#39;},

&#39;ff.mods.report.tasks.process_answer_mentions_for_report_answers&#39;: {&#39;queue&#39;: &#39;test1&#39;},

&#39;ff.mods.report.tasks.request_to_edit_report_notif&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.report.tasks.review_unreviewed_reports&#39;: {&#39;queue&#39;: &#39;test1&#39;},

&#39;ff.mods.report.tasks.send_notifications_on_report_submission&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.report.tasks.send_report_marked_editable_email&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.report.tasks.send_report_reviewed_email&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.report.tasks.send_report_reviewed_notifications&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.report.tasks.send_report_submitted_notification_emails&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.report.tasks.send_report_submitted_notifications&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.report.tasks.send_report_submitted_slack_messages&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.reporting.*&#39;: {&#39;queue&#39;: &#39;slow&#39;},

&#39;ff.mods.reviews.api.notifications.*&#39;: &#39;********************&#39;,

&#39;ff.mods.reviews.cycles.emails.*&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.reviews.cycles.individual_settings.notifications.*&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.reviews.cycles.notifications.*&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.reviews.cycles.slack.*&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.reviews.cycles.utils.change_reviewer&#39;: {&#39;queue&#39;: &#39;ordered&#39;},

&#39;ff.mods.reviews.cycles.utils.start_cycle&#39;: {&#39;queue&#39;: &#39;test7&#39;},

&#39;ff.mods.reviews.fillout.notifications.*&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.reviews.question_templates.notifications.*&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.reviews.settings.notifications.*&#39;: {&#39;queue&#39;: &#39;notification&#39;},

&#39;ff.mods.scim.*&#39;: {&#39;queue&#39;: &#39;test6&#39;},

&#39;ff.mods.slack.*&#39;: {&#39;queue&#39;: &#39;test5&#39;},

&#39;ff.mods.vacations.*&#39;: {&#39;queue&#39;: &#39;test3&#39;},

&#39;snowplow_tracker.emitters.send_events&#39;: {&#39;queue&#39;: &#39;snowplow&#39;}}</pre></td>

</tr>

<tr>

<td>CELERY_WORKER_DISABLE_RATE_LIMITS</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>CHANNEL_LAYERS</td>

<td class="code"><pre>{&#39;default&#39;: {&#39;BACKEND&#39;: &#39;channels_redis.core.RedisChannelLayer&#39;,

&#39;CONFIG&#39;: {&#39;hosts&#39;: [(&#39;127.0.0.1&#39;, 6379)]}}}</pre></td>

</tr>

<tr>

<td>CHURNZERO_APP_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>CHURNZERO_SECRET_TOKEN</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>CLEARBIT_ACCOUNT_ID</td>

<td class="code"><pre>&#39;92341edf-23ec-4ec0-ab1d-99a4d28d68a7&#39;</pre></td>

</tr>

<tr>

<td>CLEARBIT_API_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>CLIENTSUCCESS_PASSWORD</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>CLIENTSUCCESS_USER</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>CLOUDMAILIN_BASIC_AUTH_LOGIN</td>

<td class="code"><pre>&#39;15five&#39;</pre></td>

</tr>

<tr>

<td>CLOUDMAILIN_BASIC_AUTH_PASS</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>COMMENT_DELETE_SECONDS</td>

<td class="code"><pre>604800</pre></td>

</tr>

<tr>

<td>COMMENT_REPLY_PREFIX_BY_VPC</td>

<td class="code"><pre>{&#39;cloud100&#39;: &#39;comment&#39;,

&#39;cloud101&#39;: &#39;comment-c6&#39;,

&#39;cloud102&#39;: &#39;comment-c102&#39;,

&#39;cloud5&#39;: &#39;comment&#39;,

&#39;dev&#39;: &#39;comment&#39;}</pre></td>

</tr>

<tr>

<td>COMPANY_TEMPLATES</td>

<td class="code"><pre>{&#39;admin-enterprise&#39;: &#39;squads_sandbox.squad_admin.templates.enterprise_company.ResetForm&#39;,

&#39;bsr-enterprise&#39;: &#39;squads_sandbox.squad_bsr.performance.enterprise_company.ResetForm&#39;,

&#39;freemium&#39;: &#39;ff.mods.freemium.company_templates.basic.BasicFreemiumResetForm&#39;,

&#39;simple-demo&#39;: &#39;ff.mods.dev_company.tests.test_basic.SimpleDemoResetForm&#39;,

&#39;simple-dev&#39;: &#39;ff.mods.dev_company.tests.test_basic.SimpleDevResetForm&#39;,

&#39;v1&#39;: &#39;ff.mods.dev_company.demo_v1.ResetForm&#39;,

&#39;v1-full&#39;: &#39;ff.mods.dev_company.demo_v1.ResetFullForm&#39;,

&#39;v1-more-objs&#39;: &#39;ff.mods.dev_company.demo_v1.ResetMoreObjectivesForm&#39;,

&#39;v2&#39;: &#39;ff.mods.dev_company.demo_v2.ResetForm&#39;,

&#39;v2-example&#39;: &#39;ff.mods.dev_company.demo_v2.ExampleResetForm&#39;}</pre></td>

</tr>

<tr>

<td>COMPRESSORS</td>

<td class="code"><pre>{&#39;css&#39;: &#39;compressor.css.CssCompressor&#39;, &#39;js&#39;: &#39;compressor.js.JsCompressor&#39;}</pre></td>

</tr>

<tr>

<td>COMPRESS_BABEL_TRANSPILE</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>COMPRESS_CACHEABLE_PRECOMPILERS</td>

<td class="code"><pre>(&#39;text/babel&#39;,)</pre></td>

</tr>

<tr>

<td>COMPRESS_CACHE_BACKEND</td>

<td class="code"><pre>&#39;default&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_CACHE_KEY_FUNCTION</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_CLEAN_CSS_ARGUMENTS</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_CLEAN_CSS_BINARY</td>

<td class="code"><pre>&#39;cleancss&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_CLOSURE_COMPILER_ARGUMENTS</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_CLOSURE_COMPILER_BINARY</td>

<td class="code"><pre>&#39;java -jar compiler.jar&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_CSS_HASHING_METHOD</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>COMPRESS_DATA_URI_MAX_SIZE</td>

<td class="code"><pre>1024</pre></td>

</tr>

<tr>

<td>COMPRESS_DEBUG_TOGGLE</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>COMPRESS_ENABLED</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>COMPRESS_FILTERS</td>

<td class="code"><pre>{&#39;css&#39;: [&#39;compressor.filters.css_default.CssAbsoluteFilter&#39;],

&#39;js&#39;: [&#39;compressor.filters.jsmin.JSMinFilter&#39;]}</pre></td>

</tr>

<tr>

<td>COMPRESS_JINJA2_GET_ENVIRONMENT</td>

<td class="code"><pre>&lt;function CompressorConf.JINJA2_GET_ENVIRONMENT at 0x7fe7feef3310&gt;</pre></td>

</tr>

<tr>

<td>COMPRESS_MINT_DELAY</td>

<td class="code"><pre>30</pre></td>

</tr>

<tr>

<td>COMPRESS_MTIME_DELAY</td>

<td class="code"><pre>10</pre></td>

</tr>

<tr>

<td>COMPRESS_OFFLINE</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>COMPRESS_OFFLINE_CONTEXT</td>

<td class="code"><pre>{&#39;STATIC_URL&#39;: &#39;/static/&#39;}</pre></td>

</tr>

<tr>

<td>COMPRESS_OFFLINE_MANIFEST</td>

<td class="code"><pre>&#39;manifest-da2043.json&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_OFFLINE_TIMEOUT</td>

<td class="code"><pre>31536000</pre></td>

</tr>

<tr>

<td>COMPRESS_OUTPUT_DIR</td>

<td class="code"><pre>&#39;CACHE&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_PARSER</td>

<td class="code"><pre>&#39;compressor.parser.AutoSelectParser&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_PRECOMPILERS</td>

<td class="code"><pre>((&#39;text/babel&#39;, &#39;ff.core.compressor_precompilers.BabelCompilerFilter&#39;),)</pre></td>

</tr>

<tr>

<td>COMPRESS_REBUILD_TIMEOUT</td>

<td class="code"><pre>2592000</pre></td>

</tr>

<tr>

<td>COMPRESS_ROOT</td>

<td class="code"><pre>&#39;/home/powellc/src/github.com/15five/fifteen5/collected-static&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_STORAGE</td>

<td class="code"><pre>&#39;compressor.storage.CompressorFileStorage&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_TEMPLATE_FILTER_CONTEXT</td>

<td class="code"><pre>{&#39;STATIC_URL&#39;: &#39;/static/&#39;}</pre></td>

</tr>

<tr>

<td>COMPRESS_URL</td>

<td class="code"><pre>&#39;/static/&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_URL_PLACEHOLDER</td>

<td class="code"><pre>&#39;/__compressor_url_placeholder__/&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_VERBOSE</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>COMPRESS_YUGLIFY_BINARY</td>

<td class="code"><pre>&#39;yuglify&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_YUGLIFY_CSS_ARGUMENTS</td>

<td class="code"><pre>&#39;--terminal&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_YUGLIFY_JS_ARGUMENTS</td>

<td class="code"><pre>&#39;--terminal&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_YUI_BINARY</td>

<td class="code"><pre>&#39;java -jar yuicompressor.jar&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_YUI_CSS_ARGUMENTS</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>COMPRESS_YUI_JS_ARGUMENTS</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>CONN_MAX_AGE</td>

<td class="code"><pre>600</pre></td>

</tr>

<tr>

<td>CREATE_SELF_SERVICE_TRIALS_FROM_SALESFORCE</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>CRISPY_TEMPLATE_PACK</td>

<td class="code"><pre>&#39;bootstrap4&#39;</pre></td>

</tr>

<tr>

<td>CSRF_COOKIE_AGE</td>

<td class="code"><pre>31449600</pre></td>

</tr>

<tr>

<td>CSRF_COOKIE_DOMAIN</td>

<td class="code"><pre>&#39;.15five.localhost&#39;</pre></td>

</tr>

<tr>

<td>CSRF_COOKIE_HTTPONLY</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>CSRF_COOKIE_NAME</td>

<td class="code"><pre>&#39;ff_csrf_token&#39;</pre></td>

</tr>

<tr>

<td>CSRF_COOKIE_PATH</td>

<td class="code"><pre>&#39;/&#39;</pre></td>

</tr>

<tr>

<td>CSRF_COOKIE_SAMESITE</td>

<td class="code"><pre>&#39;Lax&#39;</pre></td>

</tr>

<tr>

<td>CSRF_COOKIE_SECURE</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>CSRF_FAILURE_VIEW</td>

<td class="code"><pre>&#39;ff.core.csrf.csrf_failure&#39;</pre></td>

</tr>

<tr>

<td>CSRF_HEADER_NAME</td>

<td class="code"><pre>&#39;HTTP_X_CSRFTOKEN&#39;</pre></td>

</tr>

<tr>

<td>CSRF_TRUSTED_ORIGINS</td>

<td class="code"><pre>[&#39;.15five.localhost&#39;]</pre></td>

</tr>

<tr>

<td>CSRF_USE_SESSIONS</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>CURRENT_COMMIT_SHA</td>

<td class="code"><pre>&#39;da2043028f0678289e757f980265e6007139b144&#39;</pre></td>

</tr>

<tr>

<td>CUSTOMER_FACING_SALESFORCE_OAUTH_CLIENT_ID</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>CUSTOMER_FACING_SALESFORCE_OAUTH_CLIENT_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>CUSTOMER_FACING_SALESFORCE_USE_SANDBOX</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>CUSTOM_REPORT_RECORD_DETAILS</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>DASHBOARD_REPORT_PLACEHOLDERS_RELEASE_DATE</td>

<td class="code"><pre>datetime.date(2015, 10, 1)</pre></td>

</tr>

<tr>

<td>DATABASES</td>

<td class="code"><pre>{&#39;default&#39;: {&#39;ATOMIC_REQUESTS&#39;: False,

&#39;AUTOCOMMIT&#39;: True,

&#39;CONN_MAX_AGE&#39;: 0,

&#39;ENGINE&#39;: &#39;django.db.backends.postgresql_psycopg2&#39;,

&#39;HOST&#39;: &#39;127.0.0.1&#39;,

&#39;NAME&#39;: &#39;fifteen5&#39;,

&#39;OPTIONS&#39;: {},

&#39;PASSWORD&#39;: &#39;********************&#39;,

&#39;PORT&#39;: &#39;5432&#39;,

&#39;TEST&#39;: {&#39;CHARSET&#39;: None,

&#39;COLLATION&#39;: None,

&#39;MIRROR&#39;: None,

&#39;NAME&#39;: None},

&#39;TIME_ZONE&#39;: None,

&#39;USER&#39;: &#39;fifteen5&#39;}}</pre></td>

</tr>

<tr>

<td>DATABASE_ROUTERS</td>

<td class="code"><pre>[&#39;ff.core.db.MasterMirrorRouter&#39;]</pre></td>

</tr>

<tr>

<td>DATA_UPLOAD_MAX_MEMORY_SIZE</td>

<td class="code"><pre>2621440</pre></td>

</tr>

<tr>

<td>DATA_UPLOAD_MAX_NUMBER_FIELDS</td>

<td class="code"><pre>1000</pre></td>

</tr>

<tr>

<td>DATETIME_FORMAT</td>

<td class="code"><pre>&#39;N j, Y, P&#39;</pre></td>

</tr>

<tr>

<td>DATETIME_INPUT_FORMATS</td>

<td class="code"><pre>[&#39;%Y-%m-%d %H:%M:%S&#39;,

&#39;%Y-%m-%d %H:%M:%S.%f&#39;,

&#39;%Y-%m-%d %H:%M&#39;,

&#39;%Y-%m-%d&#39;,

&#39;%m/%d/%Y %H:%M:%S&#39;,

&#39;%m/%d/%Y %H:%M:%S.%f&#39;,

&#39;%m/%d/%Y %H:%M&#39;,

&#39;%m/%d/%Y&#39;,

&#39;%m/%d/%y %H:%M:%S&#39;,

&#39;%m/%d/%y %H:%M:%S.%f&#39;,

&#39;%m/%d/%y %H:%M&#39;,

&#39;%m/%d/%y&#39;]</pre></td>

</tr>

<tr>

<td>DATE_FORMAT</td>

<td class="code"><pre>&#39;N j, Y&#39;</pre></td>

</tr>

<tr>

<td>DATE_INPUT_FORMATS</td>

<td class="code"><pre>[&#39;%Y-%m-%d&#39;,

&#39;%m/%d/%Y&#39;,

&#39;%m/%d/%y&#39;,

&#39;%b %d %Y&#39;,

&#39;%b %d, %Y&#39;,

&#39;%d %b %Y&#39;,

&#39;%d %b, %Y&#39;,

&#39;%B %d %Y&#39;,

&#39;%B %d, %Y&#39;,

&#39;%d %B %Y&#39;,

&#39;%d %B, %Y&#39;]</pre></td>

</tr>

<tr>

<td>DAYS_TO_RETAIN_HRIS_IMPORT_DETAILS</td>

<td class="code"><pre>30</pre></td>

</tr>

<tr>

<td>DB_ALIAS_MASTER</td>

<td class="code"><pre>&#39;default&#39;</pre></td>

</tr>

<tr>

<td>DB_ALIAS_MIRROR</td>

<td class="code"><pre>&#39;default&#39;</pre></td>

</tr>

<tr>

<td>DB_ALIAS_MIRRORS</td>

<td class="code"><pre>[&#39;default&#39;]</pre></td>

</tr>

<tr>

<td>DB_ALIAS_MIRROR_ASYNC</td>

<td class="code"><pre>&#39;default&#39;</pre></td>

</tr>

<tr>

<td>DEBUG</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>DEBUG_PROPAGATE_EXCEPTIONS</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>DEBUG_TOOLBAR_CONFIG</td>

<td class="code"><pre>{&#39;DISABLE_PANELS&#39;: {&#39;debug_toolbar.panels.redirects.RedirectsPanel&#39;},

&#39;ENABLE_STACKTRACES&#39;: True,

&#39;SHOW_TOOLBAR_CALLBACK&#39;: &#39;ff.core.debug_toolbar.show_debug_toolbar&#39;}</pre></td>

</tr>

<tr>

<td>DEBUG_TOOLBAR_PANELS</td>

<td class="code"><pre>(&#39;debug_toolbar.panels.timer.TimerPanel&#39;,

&#39;debug_toolbar.panels.request.RequestPanel&#39;,

&#39;debug_toolbar.panels.sql.SQLPanel&#39;,

&#39;debug_toolbar.panels.templates.TemplatesPanel&#39;,

&#39;debug_toolbar.panels.cache.CachePanel&#39;,

&#39;debug_toolbar.panels.signals.SignalsPanel&#39;,

&#39;debug_toolbar.panels.logging.LoggingPanel&#39;,

&#39;debug_toolbar.panels.redirects.RedirectsPanel&#39;,

&#39;debug_toolbar.panels.profiling.ProfilingPanel&#39;)</pre></td>

</tr>

<tr>

<td>DEBUG_TOOLBAR_PATCH_SETTINGS</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>DECIMAL_SEPARATOR</td>

<td class="code"><pre>&#39;.&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_APP_SUBDOMAIN</td>

<td class="code"><pre>&#39;my&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_CHARSET</td>

<td class="code"><pre>&#39;utf-8&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_COMMENT_REPLY_PREFIX</td>

<td class="code"><pre>&#39;comment&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_CONTENT_TYPE</td>

<td class="code"><pre>&#39;text/html&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_EXCEPTION_REPORTER_FILTER</td>

<td class="code"><pre>&#39;django.views.debug.SafeExceptionReporterFilter&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_FILE_STORAGE</td>

<td class="code"><pre>&#39;django.core.files.storage.FileSystemStorage&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_FROM_EMAIL</td>

<td class="code"><pre>&#39;webmaster@localhost&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_INDEX_TABLESPACE</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_SENDER_ADDRESS_AND_NAME</td>

<td class="code"><pre>&#39;notifications@15five.com&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_SENDER_EMAIL_ADDRESS</td>

<td class="code"><pre>&#39;notifications@15five.com&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_SENDER_NAME</td>

<td class="code"><pre>&#39;15Five&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_TABLESPACE</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_TIMEZONE</td>

<td class="code"><pre>&#39;America/Los_Angeles&#39;</pre></td>

</tr>

<tr>

<td>DEFAULT_TRIAL_LENGTH_DAYS</td>

<td class="code"><pre>14</pre></td>

</tr>

<tr>

<td>DEMO_REQUEST_EMAIL_ADDRESS</td>

<td class="code"><pre>&#39;colin.powell@15five.com&#39;</pre></td>

</tr>

<tr>

<td>DEV_ENV</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>DEV_SUPPRESS_EMAIL</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>DISALLOWED_USER_AGENTS</td>

<td class="code"><pre>[]</pre></td>

</tr>

<tr>

<td>DISTRIBUTEDLOCK_CLIENT</td>

<td class="code"><pre>&#39;database&#39;</pre></td>

</tr>

<tr>

<td>DISTRIBUTEDLOCK_TIMEOUT</td>

<td class="code"><pre>300</pre></td>

</tr>

<tr>

<td>DO_NOT_EMAIL_PREF_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>ELASTICSEARCH_HOST</td>

<td class="code"><pre>&#39;elasticsearch1.cloud0&#39;</pre></td>

</tr>

<tr>

<td>ELASTICSEARCH_PORT</td>

<td class="code"><pre>9200</pre></td>

</tr>

<tr>

<td>EMAIL_BACKEND</td>

<td class="code"><pre>&#39;django.core.mail.backends.smtp.EmailBackend&#39;</pre></td>

</tr>

<tr>

<td>EMAIL_HOST</td>

<td class="code"><pre>&#39;mailhog.local&#39;</pre></td>

</tr>

<tr>

<td>EMAIL_HOST_PASSWORD</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>EMAIL_HOST_USER</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>EMAIL_LINK_SUBDOMAIN</td>

<td class="code"><pre>&#39;email&#39;</pre></td>

</tr>

<tr>

<td>EMAIL_PORT</td>

<td class="code"><pre>&#39;1025&#39;</pre></td>

</tr>

<tr>

<td>EMAIL_REPLY_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>EMAIL_REPLY_TO_DOMAIN</td>

<td class="code"><pre>&#39;reply.15five.com&#39;</pre></td>

</tr>

<tr>

<td>EMAIL_SSL_CERTFILE</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>EMAIL_SSL_KEYFILE</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>EMAIL_SUBJECT_PREFIX</td>

<td class="code"><pre>&#39;[Django] &#39;</pre></td>

</tr>

<tr>

<td>EMAIL_TIMEOUT</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>EMAIL_USE_LOCALTIME</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>EMAIL_USE_SSL</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>EMAIL_USE_TLS</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>ENABLE_DRIFT_ONBOARDING_FLOW</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>ENABLE_HTML_REPL</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>ENABLE_SALESFORCE_WEBHOOKS</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>ENCRYPT_CUSTOMER_DATA</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>ENVIRONMENT_SUPPORTS_SSL</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>ENV_NAME</td>

<td class="code"><pre>&#39;local-env&#39;</pre></td>

</tr>

<tr>

<td>ES_DOMAIN</td>

<td class="code"><pre>&#39;cloud0&#39;</pre></td>

</tr>

<tr>

<td>FCM_DJANGO_SETTINGS</td>

<td class="code"><pre>{&#39;DELETE_INACTIVE_DEVICES&#39;: False,

&#39;ERRORS&#39;: {&#39;invalid_package_name&#39;: &#39;InvalidPackageName&#39;,

&#39;invalid_registration&#39;: &#39;InvalidRegistration&#39;,

&#39;missing_registration&#39;: &#39;MissingRegistration&#39;,

&#39;not_registered&#39;: &#39;NotRegistered&#39;},

&#39;FCM_SERVER&#39;: &#39;https://fcm.googleapis.com/fcm/send&#39;,

&#39;FCM_SERVER_KEY&#39;: &#39;********************&#39;,

&#39;ONE_DEVICE_PER_USER&#39;: False,

&#39;USER_MODEL&#39;: &#39;ff.User&#39;}</pre></td>

</tr>

<tr>

<td>FF_DATA_ENCRYPTION_MASTER_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>FIELDS_STORED_IN_SESSION</td>

<td class="code"><pre>[&#39;action&#39;]</pre></td>

</tr>

<tr>

<td>FIFTEEN5_EMAIL_DOMAIN</td>

<td class="code"><pre>&#39;@15five.localhost&#39;</pre></td>

</tr>

<tr>

<td>FILESTACK_API_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>FILESTACK_APP_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>FILE_CHARSET</td>

<td class="code"><pre>&#39;utf-8&#39;</pre></td>

</tr>

<tr>

<td>FILE_UPLOAD_DIRECTORY_PERMISSIONS</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>FILE_UPLOAD_HANDLERS</td>

<td class="code"><pre>[&#39;django.core.files.uploadhandler.MemoryFileUploadHandler&#39;,

&#39;django.core.files.uploadhandler.TemporaryFileUploadHandler&#39;]</pre></td>

</tr>

<tr>

<td>FILE_UPLOAD_MAX_MEMORY_SIZE</td>

<td class="code"><pre>2621440</pre></td>

</tr>

<tr>

<td>FILE_UPLOAD_PERMISSIONS</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>FILE_UPLOAD_TEMP_DIR</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>FIRST_DAY_OF_WEEK</td>

<td class="code"><pre>0</pre></td>

</tr>

<tr>

<td>FIXTURE_DIRS</td>

<td class="code"><pre>[]</pre></td>

</tr>

<tr>

<td>FORCE_SCRIPT_NAME</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>FORMAT_MODULE_PATH</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>FORM_RENDERER</td>

<td class="code"><pre>&#39;django.forms.renderers.DjangoTemplates&#39;</pre></td>

</tr>

<tr>

<td>GLOBAL_CACHE_BUNDLES</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>GOOGLE_ANALYTICS_APP_TRACKING_CODE</td>

<td class="code"><pre>&#39;UA-PLACEHLDR-2&#39;</pre></td>

</tr>

<tr>

<td>GOOGLE_ANALYTICS_FRONT_TRACKING_CODE</td>

<td class="code"><pre>&#39;UA-PLACEHLDR-1&#39;</pre></td>

</tr>

<tr>

<td>GOOGLE_DISPLAY_NAME</td>

<td class="code"><pre>&#39;15Five&#39;</pre></td>

</tr>

<tr>

<td>HTTP_PROTOCOL_STR</td>

<td class="code"><pre>&#39;https://&#39;</pre></td>

</tr>

<tr>

<td>IGNORABLE_404_URLS</td>

<td class="code"><pre>[]</pre></td>

</tr>

<tr>

<td>INCLUDE_EXTERNAL_SERVICES</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>INSTALLED_APPS</td>

<td class="code"><pre>[&#39;django.contrib.auth&#39;,

&#39;django.contrib.contenttypes&#39;,

&#39;django.contrib.sessions&#39;,

&#39;django.contrib.sites&#39;,

&#39;django.contrib.messages&#39;,

&#39;django.contrib.staticfiles&#39;,

&#39;django.contrib.admin&#39;,

&#39;django.contrib.humanize&#39;,

&#39;django.contrib.postgres&#39;,

&#39;django.forms&#39;,

&#39;ajax_select&#39;,

&#39;ff&#39;,

&#39;ff.mods.admin&#39;,

&#39;ff.mods.answer&#39;,

&#39;ff.mods.account&#39;,

&#39;ff.mods.api&#39;,

&#39;ff.mods.attachments&#39;,

&#39;ff.mods.attributes&#39;,

&#39;ff.mods.avatars&#39;,

&#39;ff.mods.best_self_academy_sso&#39;,

&#39;ff.mods.best_self_kickoff&#39;,

&#39;ff.mods.billing&#39;,

&#39;ff.mods.bulkimport&#39;,

&#39;ff.mods.bundles&#39;,

&#39;ff.mods.calendar&#39;,

&#39;ff.mods.comments&#39;,

&#39;ff.mods.company&#39;,

&#39;ff.mods.contentdisplay&#39;,

&#39;ff.mods.customer&#39;,

&#39;ff.mods.custom_report&#39;,

&#39;ff.mods.dashboard&#39;,

&#39;ff.mods.dev_company&#39;,

&#39;ff.mods.devops&#39;,

&#39;ff.mods.digest&#39;,

&#39;ff.mods.email&#39;,

&#39;ff.mods.engagement&#39;,

&#39;ff.mods.expansion&#39;,

&#39;ff.mods.external_services.churnzero&#39;,

&#39;ff.mods.external_services.intercom&#39;,

&#39;ff.mods.external_services.qualtrics&#39;,

&#39;ff.mods.external_services.salesforce&#39;,

&#39;ff.mods.features&#39;,

&#39;ff.mods.followers&#39;,

&#39;ff.mods.followups&#39;,

&#39;ff.mods.freemium&#39;,

&#39;ff.mods.goals&#39;,

&#39;ff.mods.group&#39;,

&#39;ff.mods.healthcheck&#39;,

&#39;ff.mods.high_fives&#39;,

&#39;ff.mods.hris.bamboo_hr&#39;,

&#39;ff.mods.hris.namely&#39;,

&#39;ff.mods.hris.workday&#39;,

&#39;ff.mods.jira&#39;,

&#39;ff.mods.maintenance&#39;,

&#39;ff.mods.mentions&#39;,

&#39;ff.mods.metrics&#39;,

&#39;ff.mods.msteams&#39;,

&#39;ff.mods.newsfeed&#39;,

&#39;ff.mods.notifications&#39;,

&#39;ff.mods.objectives&#39;,

&#39;ff.mods.okr&#39;,

&#39;ff.mods.old_stats&#39;,

&#39;ff.mods.one_offs&#39;,

&#39;ff.mods.onboarding&#39;,

&#39;ff.mods.one_on_one&#39;,

&#39;ff.mods.people_segments&#39;,

&#39;ff.mods.profile&#39;,

&#39;ff.mods.property_store&#39;,

&#39;ff.mods.question&#39;,

&#39;ff.mods.reactions&#39;,

&#39;ff.mods.realtime_feedback&#39;,

&#39;ff.mods.report&#39;,

&#39;ff.mods.reporting.feedback&#39;,

&#39;ff.mods.reporting.one_on_one_reports&#39;,

&#39;ff.mods.reporting.sentiment_analysis&#39;,

&#39;ff.mods.reviews&#39;,

&#39;ff.mods.saml2&#39;,

&#39;ff.mods.salesforce&#39;,

&#39;ff.mods.scim&#39;,

&#39;ff.mods.sftp&#39;,

&#39;ff.mods.security_audit&#39;,

&#39;ff.mods.sentiment&#39;,

&#39;ff.mods.slack&#39;,

&#39;ff.mods.splittesting&#39;,

&#39;ff.mods.sql_reports&#39;,

&#39;ff.mods.stats&#39;,

&#39;ff.mods.survey&#39;,

&#39;ff.mods.tags&#39;,

&#39;ff.mods.question_bank&#39;,

&#39;ff.mods.url_shortener&#39;,

&#39;ff.mods.vacations&#39;,

&#39;ff.mods.wins&#39;,

&#39;ff.mods.zapier&#39;,

&#39;simple_history&#39;,

&#39;social_django&#39;,

&#39;crispy_forms&#39;,

&#39;django_extensions&#39;,

&#39;compressor&#39;,

&#39;django_js_reverse&#39;,

&#39;import_export&#39;,

&#39;distributedlock&#39;,

&#39;macros&#39;,

&#39;recurly&#39;,

&#39;django_otp&#39;,

&#39;django_otp.plugins.otp_static&#39;,

&#39;django_otp.plugins.otp_totp&#39;,

&#39;two_factor&#39;,

&#39;push_notifications&#39;,

&#39;fcm_django&#39;,

&#39;app_overrides&#39;,

&#39;webpack_loader&#39;,

&#39;widget_tweaks&#39;,

&#39;rest_framework&#39;,

&#39;graphene_django&#39;,

&#39;oauth2_provider&#39;,

&#39;django_filters&#39;,

&#39;channels&#39;,

&#39;snowplow_tracker&#39;,

&#39;djangoql&#39;,

&#39;django_ltree&#39;,

&#39;waffle&#39;,

&#39;debug_toolbar&#39;,

&#39;sandbox.common&#39;,

&#39;ff.mods.internal_tools&#39;,

&#39;sandbox.piotr_dev&#39;,

&#39;sandbox.paul_dev.oauth&#39;]</pre></td>

</tr>

<tr>

<td>INTERCOM_DELETE_INACTIVE_USERS_DELAY_IN_DAYS</td>

<td class="code"><pre>14</pre></td>

</tr>

<tr>

<td>INTERCOM_IO_APP_ID</td>

<td class="code"><pre>&#39;i57gzr9&#39;</pre></td>

</tr>

<tr>

<td>INTERCOM_IO_PERSONAL_ACCESS_TOKEN</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>INTERCOM_IO_SECRET_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>INTERNAL_IPS</td>

<td class="code"><pre>(&#39;127.0.0.1&#39;,)</pre></td>

</tr>

<tr>

<td>INTERNAL_NOTIFICATION_ADDRESSES</td>

<td class="code"><pre>((&#39;colin.powell@15fiveit.com&#39;, &#39;Colin Powell&#39;),)</pre></td>

</tr>

<tr>

<td>INTERNAL_NOTIFICATION_ADDRESSES_DEVS</td>

<td class="code"><pre>((&#39;devs@15five.com&#39;, &#39;&#39;),)</pre></td>

</tr>

<tr>

<td>JIRA_OAUTH_CLIENT_ID</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>JIRA_OAUTH_CLIENT_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>JS_REVERSE_EXCLUDE_NAMESPACES</td>

<td class="code"><pre>[&#39;admin&#39;]</pre></td>

</tr>

<tr>

<td>JS_REVERSE_JS_MINIFY</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>JS_REVERSE_OUTPUT_PATH</td>

<td class="code"><pre>&#39;/home/powellc/src/github.com/15five/fifteen5/ff/static/js&#39;</pre></td>

</tr>

<tr>

<td>JS_REVERSE_WRITE_ON_EACH_REQUEST</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>LANGUAGES</td>

<td class="code"><pre>[(&#39;af&#39;, &#39;Afrikaans&#39;),

(&#39;ar&#39;, &#39;Arabic&#39;),

(&#39;ast&#39;, &#39;Asturian&#39;),

(&#39;az&#39;, &#39;Azerbaijani&#39;),

(&#39;bg&#39;, &#39;Bulgarian&#39;),

(&#39;be&#39;, &#39;Belarusian&#39;),

(&#39;bn&#39;, &#39;Bengali&#39;),

(&#39;br&#39;, &#39;Breton&#39;),

(&#39;bs&#39;, &#39;Bosnian&#39;),

(&#39;ca&#39;, &#39;Catalan&#39;),

(&#39;cs&#39;, &#39;Czech&#39;),

(&#39;cy&#39;, &#39;Welsh&#39;),

(&#39;da&#39;, &#39;Danish&#39;),

(&#39;de&#39;, &#39;German&#39;),

(&#39;dsb&#39;, &#39;Lower Sorbian&#39;),

(&#39;el&#39;, &#39;Greek&#39;),

(&#39;en&#39;, &#39;English&#39;),

(&#39;en-au&#39;, &#39;Australian English&#39;),

(&#39;en-gb&#39;, &#39;British English&#39;),

(&#39;eo&#39;, &#39;Esperanto&#39;),

(&#39;es&#39;, &#39;Spanish&#39;),

(&#39;es-ar&#39;, &#39;Argentinian Spanish&#39;),

(&#39;es-co&#39;, &#39;Colombian Spanish&#39;),

(&#39;es-mx&#39;, &#39;Mexican Spanish&#39;),

(&#39;es-ni&#39;, &#39;Nicaraguan Spanish&#39;),

(&#39;es-ve&#39;, &#39;Venezuelan Spanish&#39;),

(&#39;et&#39;, &#39;Estonian&#39;),

(&#39;eu&#39;, &#39;Basque&#39;),

(&#39;fa&#39;, &#39;Persian&#39;),

(&#39;fi&#39;, &#39;Finnish&#39;),

(&#39;fr&#39;, &#39;French&#39;),

(&#39;fy&#39;, &#39;Frisian&#39;),

(&#39;ga&#39;, &#39;Irish&#39;),

(&#39;gd&#39;, &#39;Scottish Gaelic&#39;),

(&#39;gl&#39;, &#39;Galician&#39;),

(&#39;he&#39;, &#39;Hebrew&#39;),

(&#39;hi&#39;, &#39;Hindi&#39;),

(&#39;hr&#39;, &#39;Croatian&#39;),

(&#39;hsb&#39;, &#39;Upper Sorbian&#39;),

(&#39;hu&#39;, &#39;Hungarian&#39;),

(&#39;hy&#39;, &#39;Armenian&#39;),

(&#39;ia&#39;, &#39;Interlingua&#39;),

(&#39;id&#39;, &#39;Indonesian&#39;),

(&#39;io&#39;, &#39;Ido&#39;),

(&#39;is&#39;, &#39;Icelandic&#39;),

(&#39;it&#39;, &#39;Italian&#39;),

(&#39;ja&#39;, &#39;Japanese&#39;),

(&#39;ka&#39;, &#39;Georgian&#39;),

(&#39;kab&#39;, &#39;Kabyle&#39;),

(&#39;kk&#39;, &#39;Kazakh&#39;),

(&#39;km&#39;, &#39;Khmer&#39;),

(&#39;kn&#39;, &#39;Kannada&#39;),

(&#39;ko&#39;, &#39;Korean&#39;),

(&#39;lb&#39;, &#39;Luxembourgish&#39;),

(&#39;lt&#39;, &#39;Lithuanian&#39;),

(&#39;lv&#39;, &#39;Latvian&#39;),

(&#39;mk&#39;, &#39;Macedonian&#39;),

(&#39;ml&#39;, &#39;Malayalam&#39;),

(&#39;mn&#39;, &#39;Mongolian&#39;),

(&#39;mr&#39;, &#39;Marathi&#39;),

(&#39;my&#39;, &#39;Burmese&#39;),

(&#39;nb&#39;, &#39;Norwegian Bokmål&#39;),

(&#39;ne&#39;, &#39;Nepali&#39;),

(&#39;nl&#39;, &#39;Dutch&#39;),

(&#39;nn&#39;, &#39;Norwegian Nynorsk&#39;),

(&#39;os&#39;, &#39;Ossetic&#39;),

(&#39;pa&#39;, &#39;Punjabi&#39;),

(&#39;pl&#39;, &#39;Polish&#39;),

(&#39;pt&#39;, &#39;Portuguese&#39;),

(&#39;pt-br&#39;, &#39;Brazilian Portuguese&#39;),

(&#39;ro&#39;, &#39;Romanian&#39;),

(&#39;ru&#39;, &#39;Russian&#39;),

(&#39;sk&#39;, &#39;Slovak&#39;),

(&#39;sl&#39;, &#39;Slovenian&#39;),

(&#39;sq&#39;, &#39;Albanian&#39;),

(&#39;sr&#39;, &#39;Serbian&#39;),

(&#39;sr-latn&#39;, &#39;Serbian Latin&#39;),

(&#39;sv&#39;, &#39;Swedish&#39;),

(&#39;sw&#39;, &#39;Swahili&#39;),

(&#39;ta&#39;, &#39;Tamil&#39;),

(&#39;te&#39;, &#39;Telugu&#39;),

(&#39;th&#39;, &#39;Thai&#39;),

(&#39;tr&#39;, &#39;Turkish&#39;),

(&#39;tt&#39;, &#39;Tatar&#39;),

(&#39;udm&#39;, &#39;Udmurt&#39;),

(&#39;uk&#39;, &#39;Ukrainian&#39;),

(&#39;ur&#39;, &#39;Urdu&#39;),

(&#39;vi&#39;, &#39;Vietnamese&#39;),

(&#39;zh-hans&#39;, &#39;Simplified Chinese&#39;),

(&#39;zh-hant&#39;, &#39;Traditional Chinese&#39;)]</pre></td>

</tr>

<tr>

<td>LANGUAGES_BIDI</td>

<td class="code"><pre>[&#39;he&#39;, &#39;ar&#39;, &#39;fa&#39;, &#39;ur&#39;]</pre></td>

</tr>

<tr>

<td>LANGUAGE_CODE</td>

<td class="code"><pre>&#39;en-us&#39;</pre></td>

</tr>

<tr>

<td>LANGUAGE_COOKIE_AGE</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>LANGUAGE_COOKIE_DOMAIN</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>LANGUAGE_COOKIE_NAME</td>

<td class="code"><pre>&#39;django_language&#39;</pre></td>

</tr>

<tr>

<td>LANGUAGE_COOKIE_PATH</td>

<td class="code"><pre>&#39;/&#39;</pre></td>

</tr>

<tr>

<td>LOCALE_PATHS</td>

<td class="code"><pre>(&#39;/home/powellc/src/github.com/15five/fifteen5/ff/locale&#39;,)</pre></td>

</tr>

<tr>

<td>LOCAL_LOGGER</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>LOCAL_SCRIPTS_TO_RUN</td>

<td class="code"><pre>(&#39;squads_sandbox.squad_company.enterprise_local_dev&#39;,

&#39;squads_sandbox.squad_company.bamboohr_local_dev&#39;,

&#39;squads_sandbox.squad_company.saml_okta_local_dev&#39;,

&#39;squads_sandbox.squad_company.scim_okta_local_dev&#39;,

&#39;squads_sandbox.squad_company.sftp_workday_local_dev&#39;)</pre></td>

</tr>

<tr>

<td>LOGGING</td>

<td class="code"><pre>{&#39;disable_existing_loggers&#39;: True,

&#39;filters&#39;: {&#39;grumpy&#39;: {&#39;()&#39;: &lt;class &#39;ff.settings.dev.colin.GrumpyColinFilter&#39;&gt;,

&#39;skip&#39;: ((&#39;ff.mods.report.models&#39;,

&#39;Incorrect editing/submitting state for &#39;

&#39;15five&#39;),

(&#39;ff.mods.external_services.churnzero.tasks&#39;,

&#39;ChurnZero is not configured. Skipping &#39;

&#39;send_churnzero_event.&#39;),

(&#39;ff.mods.external_services.churnzero.decorators&#39;,

&#39;ChurnZero is not configured. Skipping &#39;

&#39;operation.&#39;),

(&#39;ff.mods.reporting.feedback.handlers&#39;,

&#39;create_or_update_intermediate_model&#39;),

(&#39;ff.core.access&#39;, &#39;get_struct_user_by_id&#39;),

(&#39;ff.core.access&#39;,

&#39;load_reviewer_structure_from_db&#39;),

(&#39;ff.core.access&#39;,

&#39;load_group_structure_from_db&#39;),

(&#39;ff.signals&#39;,

&#39;reviewer_pre_delete_rep_rev_flags&#39;),

())}},

&#39;formatters&#39;: {&#39;color&#39;: {&#39;()&#39;: &#39;colorlog.ColoredFormatter&#39;,

&#39;format&#39;: &#39;{log_color}{levelname:8s}{reset} &#39;

&#39;{thin_white}{message}&#39;,

&#39;style&#39;: &#39;{&#39;},

&#39;color-verbose&#39;: {&#39;()&#39;: &#39;colorlog.ColoredFormatter&#39;,

&#39;format&#39;: &#39;\r&#39;

&#39;{log_color}{levelname:8s}{reset} &#39;

&#39;{bold_cyan}{name}{reset}:{fg_bold_red}{lineno}{reset} &#39;

&#39;{thin_yellow}{funcName} &#39;

&#39;{thin_white}{message}{reset}&#39;,

&#39;style&#39;: &#39;{&#39;},

&#39;sqlformatter&#39;: {&#39;()&#39;: &#39;sqlformatter.SqlFormatter&#39;,

&#39;format&#39;: &#39;%(levelname)s %(message)s&#39;}},

&#39;handlers&#39;: {&#39;color&#39;: {&#39;class&#39;: &#39;logging.StreamHandler&#39;,

&#39;filters&#39;: [&#39;grumpy&#39;],

&#39;formatter&#39;: &#39;color&#39;},

&#39;color-verbose&#39;: {&#39;class&#39;: &#39;logging.StreamHandler&#39;,

&#39;filters&#39;: [&#39;grumpy&#39;],

&#39;formatter&#39;: &#39;color-verbose&#39;},

&#39;elasticsearch&#39;: {&#39;auth_type&#39;: &lt;AuthType.NO_AUTH: 0&gt;,

&#39;class&#39;: &#39;cmreslogging.handlers.CMRESHandler&#39;,

&#39;es_additional_fields&#39;: {&#39;App&#39;: &#39;Test&#39;,

&#39;Environment&#39;: &#39;Dev&#39;},

&#39;es_index_name&#39;: &#39;fifteen5&#39;,

&#39;hosts&#39;: [{&#39;host&#39;: &#39;logging.local&#39;,

&#39;port&#39;: 9200}],

&#39;level&#39;: &#39;DEBUG&#39;,

&#39;use_ssl&#39;: False},

&#39;no-color&#39;: {&#39;class&#39;: &#39;logging.StreamHandler&#39;,

&#39;filters&#39;: [&#39;grumpy&#39;]},

&#39;sqlhandler&#39;: {&#39;class&#39;: &#39;logging.StreamHandler&#39;,

&#39;formatter&#39;: &#39;sqlformatter&#39;,

&#39;level&#39;: &#39;DEBUG&#39;}},

&#39;loggers&#39;: {&#39;django.db.backends&#39;: {&#39;handlers&#39;: [&#39;elasticsearch&#39;],

&#39;level&#39;: &#39;DEBUG&#39;,

&#39;propagate&#39;: True},

&#39;ff&#39;: {&#39;handlers&#39;: [&#39;color-verbose&#39;, &#39;elasticsearch&#39;],

&#39;level&#39;: &#39;DEBUG&#39;,

&#39;propagate&#39;: True}},

&#39;root&#39;: {&#39;handlers&#39;: [], &#39;level&#39;: &#39;ERROR&#39;},

&#39;version&#39;: 1}</pre></td>

</tr>

<tr>

<td>LOGGING_CONFIG</td>

<td class="code"><pre>&#39;logging.config.dictConfig&#39;</pre></td>

</tr>

<tr>

<td>LOGIN_REDIRECT_URL</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>LOGIN_URL</td>

<td class="code"><pre>&#39;/&#39;</pre></td>

</tr>

<tr>

<td>LOGOUT_REDIRECT_URL</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>LOG_LEVEL</td>

<td class="code"><pre>&#39;DEBUG&#39;</pre></td>

</tr>

<tr>

<td>LOG_TO_FLUENTD</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>MAIN_DOMAIN</td>

<td class="code"><pre>&#39;15five.localhost&#39;</pre></td>

</tr>

<tr>

<td>MAIN_DOMAINS_OF_ALL_CLOUDS</td>

<td class="code"><pre>(&#39;15five.localhost&#39;,)</pre></td>

</tr>

<tr>

<td>MAIN_ONBOARDING_TRACK_MANAGER</td>

<td class="code"><pre>&#39;ff.mods.onboarding.pumpkin_spice.managers.PumpkinSpiceOnboardingTrackManager&#39;</pre></td>

</tr>

<tr>

<td>MANAGEMENT_COMMAND_LOCK_GRACE_PERIOD</td>

<td class="code"><pre>60</pre></td>

</tr>

<tr>

<td>MANAGERS</td>

<td class="code"><pre>[]</pre></td>

</tr>

<tr>

<td>MEDIA_ROOT</td>

<td class="code"><pre>&#39;/home/powellc/src/github.com/15five/fifteen5/media&#39;</pre></td>

</tr>

<tr>

<td>MEDIA_URL</td>

<td class="code"><pre>&#39;/media/&#39;</pre></td>

</tr>

<tr>

<td>MESSAGE_STORAGE</td>

<td class="code"><pre>&#39;django.contrib.messages.storage.fallback.FallbackStorage&#39;</pre></td>

</tr>

<tr>

<td>METABASE_SECRET_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>METABASE_SITE_URL</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>METRICS_DISPLAY_PAST_REPORTS</td>

<td class="code"><pre>4</pre></td>

</tr>

<tr>

<td>MFA_ISSUER</td>

<td class="code"><pre>&#39;15Five&#39;</pre></td>

</tr>

<tr>

<td>MICROSOFT_TEAMS_ACCESS_TOKEN_EXPIRE_SECONDS</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>MICROSOFT_TEAMS_TOKEN_REFRESH_IF_EXPIRES_WITHIN_DAYS</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>MIDDLEWARE</td>

<td class="code"><pre>(&#39;debug_toolbar.middleware.DebugToolbarMiddleware&#39;,

&#39;ff.core.middleware.append_slash_middleware&#39;,

&#39;ff.core.middleware.FifteenFiveEarlyMiddleware&#39;,

&#39;django.middleware.common.CommonMiddleware&#39;,

&#39;django.contrib.sessions.middleware.SessionMiddleware&#39;,

&#39;ff.mods.msteams.middleware.msteams_auth_middleware&#39;,

&#39;oauth2_provider.middleware.OAuth2TokenMiddleware&#39;,

&#39;ff.mods.scim.middleware.CustomSCIMAuthCheckMiddleware&#39;,

&#39;django.middleware.csrf.CsrfViewMiddleware&#39;,

&#39;django.contrib.messages.middleware.MessageMiddleware&#39;,

&#39;django.contrib.auth.middleware.AuthenticationMiddleware&#39;,

&#39;django.middleware.clickjacking.XFrameOptionsMiddleware&#39;,

&#39;django_otp.middleware.OTPMiddleware&#39;,

&#39;ff.core.middleware.FifteenFiveCentralMiddleware&#39;,

&#39;social_django.middleware.SocialAuthExceptionMiddleware&#39;,

&#39;waffle.middleware.WaffleMiddleware&#39;,

&#39;ff.core.middleware.FifteenFiveLateMiddleware&#39;,

&#39;ff.core.middleware.PerformanceAlertingMiddleware&#39;)</pre></td>

</tr>

<tr>

<td>MIGRATION_MODULES</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>MOBILE_API_SECRET_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>MONTH_DAY_FORMAT</td>

<td class="code"><pre>&#39;F j&#39;</pre></td>

</tr>

<tr>

<td>MY_EMAIL_PREFIX</td>

<td class="code"><pre>&#39;colin.powell&#39;</pre></td>

</tr>

<tr>

<td>MY_FULL_NAME</td>

<td class="code"><pre>&#39;Colin Powell&#39;</pre></td>

</tr>

<tr>

<td>NAMELY_OAUTH_CLIENT_ID</td>

<td class="code"><pre>&#39;mymsv4hhYE6HPeGvYRQHTsUAH2z7vwZOccELbwVUukde4JHepVQKZdfoVTIEaGFK&#39;</pre></td>

</tr>

<tr>

<td>NAMELY_OAUTH_CLIENT_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>NODE_IP</td>

<td class="code"><pre>&#39;127.0.0.1&#39;</pre></td>

</tr>

<tr>

<td>NO_REPLY_EMAIL_ADDRESS</td>

<td class="code"><pre>&#39;do_not_reply@15five.com&#39;</pre></td>

</tr>

<tr>

<td>NO_REPLY_NAME</td>

<td class="code"><pre>&#39;15Five&#39;</pre></td>

</tr>

<tr>

<td>NUMBER_GROUPING</td>

<td class="code"><pre>0</pre></td>

</tr>

<tr>

<td>OAUTH2_PROVIDER</td>

<td class="code"><pre>{&#39;ACCESS_TOKEN_EXPIRE_SECONDS&#39;: &#39;********************&#39;,

&#39;REFRESH_TOKEN_EXPIRE_SECONDS&#39;: &#39;********************&#39;}</pre></td>

</tr>

<tr>

<td>OKTA_LOCAL_DEV_APP_NAME</td>

<td class="code"><pre>&#39;unblinkdev331277_testingapp_1&#39;</pre></td>

</tr>

<tr>

<td>OKTA_LOCAL_DEV_CERT</td>

<td class="code"><pre>(&#39;MIIDpDCCAoygAwIBAgIGAXPivQR7MA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEG\n&#39;

&#39;A1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNU2FuIEZyYW5jaXNjbzENMAsGA1UECgwET2t0YTEU\n&#39;

&#39;MBIGA1UECwwLU1NPUHJvdmlkZXIxEzARBgNVBAMMCmRldi0zMzEyNzcxHDAaBgkqhkiG9w0BCQEW\n&#39;

&#39;DWluZm9Ab2t0YS5jb20wHhcNMjAwODEyMTI1NDA1WhcNMzAwODEyMTI1NTA1WjCBkjELMAkGA1UE\n&#39;

&#39;BhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNV\n&#39;

&#39;BAoMBE9rdGExFDASBgNVBAsMC1NTT1Byb3ZpZGVyMRMwEQYDVQQDDApkZXYtMzMxMjc3MRwwGgYJ\n&#39;

&#39;KoZIhvcNAQkBFg1pbmZvQG9rdGEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\n&#39;

&#39;sQuky38M5jWLslvAKLKPmobADjkpnLhZD5aIwqTkTXFlRcVnJZ84K4PVtx1k1qstRbhPEcvEYX1y\n&#39;

&#39;7SSqwS7SatSAEdAbyKaflfXi1tkAAMYh/Me5/3w/gDbAVNXRlVcRBpZhNvtfRHLiiRzINZrMoRk+\n&#39;

&#39;xzhCLc19r/UvybybVA4KnYGr6lHwHhhZfXCyVGKVtz1lNyHMfmQ+oMwt5RzC6QgDplkCbYRz7Etb\n&#39;

&#39;m9dDs/hx92lRCNO8zate/Z3D2uqKnMzd4akt6gvzF6k7pMIeS1rUavh2C7YVl4XT7OF8Pkotr6t0\n&#39;

&#39;D2+hpTGZcIAC+caeoxr0ZPDv8YbwudeXyxbWvwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQCbumGj\n&#39;

&#39;dZbJmvUtpzTkUM3n33LclyrwLx34vQyzELr+PSzt0KPxODY5Lp+QiQSoTbrExmbekCi6Q2j0fL63\n&#39;

&#39;rVWZV4x9MsuaclcKN4eUvgWPQV1d2/kCMuNdwd+boKyqzlAeY6hTvJWK/zB7SD3gDvhPL9p0ffep\n&#39;

&#39;+8dUKjj6iI+/TGRrDpld8AiHlCNJPXaB3c6FHzLj69PKj24pD5lpRkM6NMg8KPD5rJbKXuGp217D\n&#39;

&#39;riOyZ0uXNEjxwaDq85TvM1h+aMj1FTXJ+lAKK/AJZ52U4RJP8TsErMb/JY9ZZCo+tA0ctWUsE0pK\n&#39;

&#39;USgZPYkwqvLOM/QAwvpZjyVQrqDi+zmI&#39;)</pre></td>

</tr>

<tr>

<td>OKTA_LOCAL_DEV_ID</td>

<td class="code"><pre>&#39;exkptbzr9Qvau1gtg4x6&#39;</pre></td>

</tr>

<tr>

<td>OKTA_LOCAL_DEV_SUBDOMAIN</td>

<td class="code"><pre>&#39;dev-331277&#39;</pre></td>

</tr>

<tr>

<td>ONBOARDING_TRACK_MANAGERS</td>

<td class="code"><pre>(&#39;ff.mods.onboarding.pumpkin_spice.managers.PumpkinSpiceOnboardingTrackManager&#39;,

&#39;ff.mods.onboarding.mobile_api_1.managers.MobileApiOneOnboardingTrackManager&#39;,

&#39;ff.mods.onboarding.watermelon_blue.managers.WatermelonBlueOnboardingTrackManager&#39;)</pre></td>

</tr>

<tr>

<td>ONE_OFFS_DB_LOG_FREQUENCY</td>

<td class="code"><pre>5</pre></td>

</tr>

<tr>

<td>PARDOT_PROSPECT_FORM_HANDLER_URL</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>PASSWORD_HASHERS</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>PASSWORD_MIN_LENGTH</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>PASSWORD_RESET_TIMEOUT_DAYS</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>PATHS_THAT_SKIP_SUBDOMAIN_REDIRECT</td>

<td class="code"><pre>(&#39;/scim/v2/&#39;,)</pre></td>

</tr>

<tr>

<td>PERFORMANCE_ALERTING</td>

<td class="code"><pre>{&#39;disabled_paths&#39;: [&#39;/__silk__/&#39;],

&#39;max_queries_threshold&#39;: 50,

&#39;max_queries_threshold_for_tests&#39;: 175,

&#39;max_queries_time_threshold&#39;: 3,

&#39;max_time_threshold&#39;: 5}</pre></td>

</tr>

<tr>

<td>PERFORMANCE_TESTING</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>PERFORMANCE_TIME_ALERT_SILENTLY</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>PREPEND_WWW</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>PROJECT_ROOT</td>

<td class="code"><pre>&#39;/home/powellc/src/github.com/15five/fifteen5/ff/settings/../..&#39;</pre></td>

</tr>

<tr>

<td>PUSH_NOTIFICATIONS_SETTINGS</td>

<td class="code"><pre>{&#39;APNS_CERTIFICATE&#39;: &#39;/home/powellc/src/github.com/15five/fifteen5/ff/settings/apn/apn_production.pem&#39;,

&#39;APNS_TOPIC&#39;: &#39;com.15five.15Five&#39;,

&#39;APNS_USE_ALTERNATIVE_PORT&#39;: False,

&#39;APNS_USE_SANDBOX&#39;: True,

&#39;CONFIG&#39;: &#39;push_notifications.conf.LegacyConfig&#39;,

&#39;FCM_ERROR_TIMEOUT&#39;: None,

&#39;FCM_MAX_RECIPIENTS&#39;: 1000,

&#39;FCM_POST_URL&#39;: &#39;https://fcm.googleapis.com/fcm/send&#39;,

&#39;GCM_ERROR_TIMEOUT&#39;: None,

&#39;GCM_MAX_RECIPIENTS&#39;: 1000,

&#39;GCM_POST_URL&#39;: &#39;https://android.googleapis.com/gcm/send&#39;,

&#39;UPDATE_ON_DUPLICATE_REG_ID&#39;: False,

&#39;USER_MODEL&#39;: &#39;ff.User&#39;,

&#39;WNS_ACCESS_URL&#39;: &#39;https://login.live.com/accesstoken.srf&#39;,

&#39;WNS_PACKAGE_SECURITY_ID&#39;: None,

&#39;WNS_SECRET_KEY&#39;: &#39;********************&#39;,

&#39;WP_CLAIMS&#39;: None,

&#39;WP_ERROR_TIMEOUT&#39;: None,

&#39;WP_POST_URL&#39;: {&#39;CHROME&#39;: &#39;https://fcm.googleapis.com/fcm/send&#39;,

&#39;FIREFOX&#39;: &#39;https://updates.push.services.mozilla.com/wpush/v2&#39;,

&#39;OPERA&#39;: &#39;https://fcm.googleapis.com/fcm/send&#39;},

&#39;WP_PRIVATE_KEY&#39;: &#39;********************&#39;}</pre></td>

</tr>

<tr>

<td>QUALTRICS_15FIVE_TOKEN</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>QUALTRICS_API_TOKEN</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>QUALTRICS_DIRECTORY_ID</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>QUALTRICS_ID</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>QUERYCOUNT</td>

<td class="code"><pre>{&#39;DISPLAY_DUPLICATES&#39;: None,

&#39;IGNORE_REQUEST_PATTERNS&#39;: [],

&#39;IGNORE_SQL_PATTERNS&#39;: [],

&#39;THRESHOLDS&#39;: {&#39;HIGH&#39;: 200,

&#39;MEDIUM&#39;: 50,

&#39;MIN_QUERY_COUNT_TO_LOG&#39;: 0,

&#39;MIN_TIME_TO_LOG&#39;: 0}}</pre></td>

</tr>

<tr>

<td>RECAPTCHA_SECRET_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>RECAPTCHA_SITE_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>RECURLY_API_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>RECURLY_DEFAULT_CURRENCY</td>

<td class="code"><pre>&#39;USD&#39;</pre></td>

</tr>

<tr>

<td>RECURLY_PRIVATE_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>RECURLY_PUBLIC_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>RECURLY_SUBDOMAIN</td>

<td class="code"><pre>&#39;15five-test&#39;</pre></td>

</tr>

<tr>

<td>REDIS_LOCATION</td>

<td class="code"><pre>&#39;redis://127.0.0.1:6379/&#39;</pre></td>

</tr>

<tr>

<td>RESET_DB</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>REST_FRAMEWORK</td>

<td class="code"><pre>{&#39;DEFAULT_RENDERER_CLASSES&#39;: (&#39;rest_framework.renderers.JSONRenderer&#39;,

&#39;ff.core.restframework.FFCSVRenderer&#39;,

&#39;ff.core.restframework.FFXLSXRenderer&#39;),

&#39;DEFAULT_THROTTLE_CLASSES&#39;: (&#39;rest_framework.throttling.AnonRateThrottle&#39;,

&#39;rest_framework.throttling.UserRateThrottle&#39;),

&#39;DEFAULT_THROTTLE_RATES&#39;: {&#39;anon&#39;: &#39;15/second&#39;, &#39;user&#39;: &#39;15/second&#39;},

&#39;HTML_SELECT_CUTOFF&#39;: 10,

&#39;ORDERING_PARAM&#39;: &#39;order_by&#39;}</pre></td>

</tr>

<tr>

<td>ROOT_URLCONF</td>

<td class="code"><pre>&#39;ff.urls&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_BASIC_AUTH_LOGIN</td>

<td class="code"><pre>&#39;15five&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_BASIC_AUTH_PASS</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_COMPOUND_PASSWORD</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_CONSUMER_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_CONSUMER_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_ENABLED</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SALESFORCE_HOST</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_OWNER_ID</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_PASSWORD</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_SECURITY_TOKEN</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SALESFORCE_SYNC_ADMINS_TO_CONTACTS</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SALESFORCE_SYNC_COMPANIES_TO_ACCOUNTS</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SALESFORCE_SYNC_COMPANIES_TO_OPPORTUNITIES_V2</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SALESFORCE_SYNC_USERS_TO_CONTACTS</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SALESFORCE_USER</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>SAML_BASEDIR</td>

<td class="code"><pre>&#39;/home/powellc/src/github.com/15five/fifteen5/ff/settings/saml&#39;</pre></td>

</tr>

<tr>

<td>SAML_CERT_NAME</td>

<td class="code"><pre>&#39;/home/powellc/src/github.com/15five/fifteen5/ff/settings/saml/ff-saml-cert.crt&#39;</pre></td>

</tr>

<tr>

<td>SAML_KEY_NAME</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SCIM_SERVICE_PROVIDER</td>

<td class="code"><pre>{&#39;AUTHENTICATION_SCHEMES&#39;: [{&#39;description&#39;: &#39;Oauth 2 implemented with bearer &#39;

&#39;token&#39;,

&#39;documentationUri&#39;: &#39;&#39;,

&#39;name&#39;: &#39;OAuth 2&#39;,

&#39;specUri&#39;: &#39;&#39;,

&#39;type&#39;: &#39;oauth2&#39;}],

&#39;BASE_LOCATION_GETTER&#39;: &#39;ff.core.http.get_full_domain_from_request&#39;,

&#39;GET_EXTRA_MODEL_EXCLUDE_KWARGS_GETTER&#39;: &#39;ff.mods.scim.utils.get_extra_model_exclude_kwargs_getter&#39;,

&#39;GET_EXTRA_MODEL_FILTER_KWARGS_GETTER&#39;: &#39;ff.mods.scim.utils.get_extra_model_filter_kwargs_getter&#39;,

&#39;GET_OBJECT_POST_PROCESSOR_GETTER&#39;: &#39;ff.mods.scim.utils.get_object_post_processor_getter&#39;,

&#39;GROUP_ADAPTER&#39;: &#39;ff.mods.scim.adapters.FFSCIMGroup&#39;,

&#39;GROUP_FILTER_PARSER&#39;: &#39;ff.mods.scim.filters.GroupFilterQuery&#39;,

&#39;GROUP_MODEL&#39;: &#39;ff.mods.group.models.CompanyGroup&#39;,

&#39;NETLOC&#39;: &#39;localhost&#39;,

&#39;SCHEMAS_GETTER&#39;: &#39;ff.mods.scim.schemas.schemas_getter&#39;,

&#39;USER_ADAPTER&#39;: &#39;ff.mods.scim.adapters.FFSCIMUser&#39;,

&#39;USER_FILTER_PARSER&#39;: &#39;ff.mods.scim.filters.UserFilterQuery&#39;,

&#39;WWW_AUTHENTICATE_HEADER&#39;: &#39;Basic realm=&quot;15FiveSCIM2.0&quot;&#39;}</pre></td>

</tr>

<tr>

<td>SECONDS_IN_DAY</td>

<td class="code"><pre>86400</pre></td>

</tr>

<tr>

<td>SECRET_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SECURE_BROWSER_XSS_FILTER</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SECURE_CONTENT_TYPE_NOSNIFF</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SECURE_HSTS_INCLUDE_SUBDOMAINS</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SECURE_HSTS_PRELOAD</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SECURE_HSTS_SECONDS</td>

<td class="code"><pre>0</pre></td>

</tr>

<tr>

<td>SECURE_PROXY_SSL_HEADER</td>

<td class="code"><pre>(&#39;HTTP_X_FORWARDED_PROTO&#39;, &#39;https&#39;)</pre></td>

</tr>

<tr>

<td>SECURE_REDIRECT_EXEMPT</td>

<td class="code"><pre>[]</pre></td>

</tr>

<tr>

<td>SECURE_SSL_HOST</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>SECURE_SSL_REDIRECT</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SENDGRID_API_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SERVER_EMAIL</td>

<td class="code"><pre>&#39;root@localhost&#39;</pre></td>

</tr>

<tr>

<td>SESSION_CACHE_ALIAS</td>

<td class="code"><pre>&#39;default&#39;</pre></td>

</tr>

<tr>

<td>SESSION_COOKIE_AGE</td>

<td class="code"><pre>2448000</pre></td>

</tr>

<tr>

<td>SESSION_COOKIE_DOMAIN</td>

<td class="code"><pre>&#39;15five.localhost&#39;</pre></td>

</tr>

<tr>

<td>SESSION_COOKIE_HTTPONLY</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>SESSION_COOKIE_NAME</td>

<td class="code"><pre>&#39;sessionid&#39;</pre></td>

</tr>

<tr>

<td>SESSION_COOKIE_PATH</td>

<td class="code"><pre>&#39;/&#39;</pre></td>

</tr>

<tr>

<td>SESSION_COOKIE_RENEW_IF_EXPIRES_WITHIN_DAYS</td>

<td class="code"><pre>14</pre></td>

</tr>

<tr>

<td>SESSION_COOKIE_SAMESITE</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>SESSION_COOKIE_SECURE</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SESSION_ENGINE</td>

<td class="code"><pre>&#39;ff.sessions&#39;</pre></td>

</tr>

<tr>

<td>SESSION_EXPIRE_AT_BROWSER_CLOSE</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SESSION_FILE_PATH</td>

<td class="code"><pre>None</pre></td>

</tr>

<tr>

<td>SESSION_SAVE_EVERY_REQUEST</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SESSION_SERIALIZER</td>

<td class="code"><pre>&#39;ff.CustomSessionJSONSerializer&#39;</pre></td>

</tr>

<tr>

<td>SETTINGS_MODULE</td>

<td class="code"><pre>&#39;ff.settings.dev.colin&#39;</pre></td>

</tr>

<tr>

<td>SFTP_FORWARDER_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SHORT_DATETIME_FORMAT</td>

<td class="code"><pre>&#39;m/d/Y P&#39;</pre></td>

</tr>

<tr>

<td>SHORT_DATE_FORMAT</td>

<td class="code"><pre>&#39;m/d/Y&#39;</pre></td>

</tr>

<tr>

<td>SHOW_DEBUG_TOOLBAR</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>SIGNING_BACKEND</td>

<td class="code"><pre>&#39;django.core.signing.TimestampSigner&#39;</pre></td>

</tr>

<tr>

<td>SILENCED_SYSTEM_CHECKS</td>

<td class="code"><pre>[]</pre></td>

</tr>

<tr>

<td>SITE_ID</td>

<td class="code"><pre>1</pre></td>

</tr>

<tr>

<td>SLACK_15FIVE_DISPLAY_NAME</td>

<td class="code"><pre>&#39;15Five&#39;</pre></td>

</tr>

<tr>

<td>SLACK_15FIVE_ICON_URL</td>

<td class="code"><pre>&#39;https://my.15five.com/static/images/slack-15five-logo.png&#39;</pre></td>

</tr>

<tr>

<td>SLACK_OAUTH_CLIENT_ID</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>SLACK_OAUTH_CLIENT_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SLACK_SIGNATURE_MAX_DRIFT</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SLACK_SIGNATURE_VERSION</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SLACK_SIGNING_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SLACK_SIGNUPS_CHANNEL</td>

<td class="code"><pre>&#39;&#39;</pre></td>

</tr>

<tr>

<td>SLACK_VERIFICATION_TOKEN</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SNOWPLOW</td>

<td class="code"><pre>{}</pre></td>

</tr>

<tr>

<td>SOCIAL_AUTH_DISCONNECT_REDIRECT_URL</td>

<td class="code"><pre>&#39;/account/authentication/done/&#39;</pre></td>

</tr>

<tr>

<td>SOCIAL_AUTH_GOOGLE_OAUTH2_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SOCIAL_AUTH_LOGIN_ERROR_URL</td>

<td class="code"><pre>&#39;/account/login/error/&#39;</pre></td>

</tr>

<tr>

<td>SOCIAL_AUTH_LOGIN_REDIRECT_URL</td>

<td class="code"><pre>&#39;/account/google-auth-login/&#39;</pre></td>

</tr>

<tr>

<td>SOCIAL_AUTH_NEW_ASSOCIATION_REDIRECT_URL</td>

<td class="code"><pre>&#39;/account/authentication/done/&#39;</pre></td>

</tr>

<tr>

<td>SOCIAL_AUTH_PIPELINE</td>

<td class="code"><pre>(&#39;social_core.pipeline.social_auth.social_details&#39;,

&#39;social_core.pipeline.social_auth.social_uid&#39;,

&#39;social_core.pipeline.social_auth.auth_allowed&#39;,

&#39;social_core.pipeline.social_auth.social_user&#39;,

&#39;ff.mods.account.social.social_auth.associate_by_email&#39;,

&#39;ff.mods.account.social.social_auth.associate_by_email&#39;,

&#39;ff.mods.account.social.social_auth.redirect_users_with_saml&#39;,

&#39;ff.mods.account.social.social_auth.social_signup&#39;,

&#39;social_core.pipeline.social_auth.associate_user&#39;,

&#39;ff.mods.account.social.social_auth.log_social_auth&#39;)</pre></td>

</tr>

<tr>

<td>SOCIAL_AUTH_STORAGE</td>

<td class="code"><pre>&#39;social_django.models.DjangoStorage&#39;</pre></td>

</tr>

<tr>

<td>SOCIAL_AUTH_STRATEGY</td>

<td class="code"><pre>&#39;social_django.strategy.DjangoStrategy&#39;</pre></td>

</tr>

<tr>

<td>STATICFILES_DIRS</td>

<td class="code"><pre>((&#39;node_modules&#39;, &#39;/home/powellc/src/github.com/15five/fifteen5/node_modules&#39;),)</pre></td>

</tr>

<tr>

<td>STATICFILES_FINDERS</td>

<td class="code"><pre>(&#39;django.contrib.staticfiles.finders.AppDirectoriesFinder&#39;,

&#39;compressor.finders.CompressorFinder&#39;,

&#39;django.contrib.staticfiles.finders.FileSystemFinder&#39;)</pre></td>

</tr>

<tr>

<td>STATICFILES_STORAGE</td>

<td class="code"><pre>&#39;django.contrib.staticfiles.storage.StaticFilesStorage&#39;</pre></td>

</tr>

<tr>

<td>STATIC_ROOT</td>

<td class="code"><pre>&#39;/home/powellc/src/github.com/15five/fifteen5/collected-static&#39;</pre></td>

</tr>

<tr>

<td>STATIC_URL</td>

<td class="code"><pre>&#39;/static/&#39;</pre></td>

</tr>

<tr>

<td>SUPER_ADMIN_PASSWORD</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>SUPPORT_EMAIL</td>

<td class="code"><pre>&#39;colin.powell@15five.com&#39;</pre></td>

</tr>

<tr>

<td>TAGGIT_CASE_INSENSITIVE</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>TEMPLATES</td>

<td class="code"><pre>[{&#39;APP_DIRS&#39;: False,

&#39;BACKEND&#39;: &#39;django.template.backends.django.DjangoTemplates&#39;,

&#39;DIRS&#39;: [&#39;/home/powellc/src/github.com/15five/fifteen5/ff/templates&#39;],

&#39;OPTIONS&#39;: {&#39;context_processors&#39;: [&#39;django.contrib.auth.context_processors.auth&#39;,

&#39;django.template.context_processors.debug&#39;,

&#39;django.template.context_processors.i18n&#39;,

&#39;django.template.context_processors.media&#39;,

&#39;django.template.context_processors.static&#39;,

&#39;django.template.context_processors.tz&#39;,

&#39;django.template.context_processors.request&#39;,

&#39;django.contrib.messages.context_processors.messages&#39;,

&#39;ff.core.templates.fifteen5_context_processor&#39;],

&#39;debug&#39;: False,

&#39;loaders&#39;: [&#39;django.template.loaders.filesystem.Loader&#39;,

&#39;django.template.loaders.app_directories.Loader&#39;],

&#39;string_if_invalid&#39;: &#39;### TEMPLATE ERROR %s ###&#39;}}]</pre></td>

</tr>

<tr>

<td>TEST</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>TESTING</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>TESTING_NETWORK_CALL_TIMEOUT</td>

<td class="code"><pre>10</pre></td>

</tr>

<tr>

<td>TEST_COMPANY_NAME_MARKER</td>

<td class="code"><pre>&#39;fftest&#39;</pre></td>

</tr>

<tr>

<td>TEST_NON_SERIALIZED_APPS</td>

<td class="code"><pre>[]</pre></td>

</tr>

<tr>

<td>TEST_RUNNER</td>

<td class="code"><pre>&#39;django.test.runner.DiscoverRunner&#39;</pre></td>

</tr>

<tr>

<td>THOUSAND_SEPARATOR</td>

<td class="code"><pre>&#39;,&#39;</pre></td>

</tr>

<tr>

<td>TIME_FORMAT</td>

<td class="code"><pre>&#39;P&#39;</pre></td>

</tr>

<tr>

<td>TIME_INPUT_FORMATS</td>

<td class="code"><pre>[&#39;%H:%M:%S&#39;, &#39;%H:%M:%S.%f&#39;, &#39;%H:%M&#39;]</pre></td>

</tr>

<tr>

<td>TIME_OF_DAY_TASK_TOLERANCE_MINUTES</td>

<td class="code"><pre>60</pre></td>

</tr>

<tr>

<td>TIME_ZONE</td>

<td class="code"><pre>&#39;America/New_York&#39;</pre></td>

</tr>

<tr>

<td>TOKEN_ACCESS_DAYS_VALID</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>TOKEN_ACCESS_SECRET_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>URL_SHORTENER_URL_PREFIX</td>

<td class="code"><pre>&#39;https://s.15five.com/s&#39;</pre></td>

</tr>

<tr>

<td>USER_LOGIN_DETAIL_KEY</td>

<td class="code"><pre>&#39;********************&#39;</pre></td>

</tr>

<tr>

<td>USE_AWS_S3</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>USE_I18N</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>USE_L10N</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>USE_PERFORMANCE_ALERTING</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>USE_THOUSAND_SEPARATOR</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>USE_TZ</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>USE_X_FORWARDED_HOST</td>

<td class="code"><pre>False</pre></td>

</tr>

<tr>

<td>USE_X_FORWARDED_PORT</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>VPC_NAME</td>

<td class="code"><pre>&#39;dev&#39;</pre></td>

</tr>

<tr>

<td>WAFFLE_CREATE_MISSING_FLAGS</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>WAFFLE_CREATE_MISSING_SAMPLES</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>WAFFLE_CREATE_MISSING_SWITCHES</td>

<td class="code"><pre>True</pre></td>

</tr>

<tr>

<td>WAFFLE_FLAG_MODEL</td>

<td class="code"><pre>&#39;features.Flag&#39;</pre></td>

</tr>

<tr>

<td>WEBPACK_LOADER</td>

<td class="code"><pre>{&#39;DEFAULT&#39;: {&#39;BUNDLE_DIR_NAME&#39;: &#39;dist/js/&#39;,

&#39;STATS_FILE&#39;: &#39;/home/powellc/src/github.com/15five/fifteen5/ff/static/webpack-stats.json&#39;}}</pre></td>

</tr>

<tr>

<td>WSGI_APPLICATION</td>

<td class="code"><pre>&#39;ff.wsgi.application&#39;</pre></td>

</tr>

<tr>

<td>X_FRAME_OPTIONS</td>

<td class="code"><pre>&#39;SAMEORIGIN&#39;</pre></td>

</tr>

<tr>

<td>YEAR_MONTH_FORMAT</td>

<td class="code"><pre>&#39;F Y&#39;</pre></td>

</tr>

</tbody>

</table>

</div>

<div id="explanation">

<p>

You're seeing this error because you have <code>DEBUG = True</code> in your

Django settings file. Change that to <code>False</code>, and Django will

display a standard page generated by the handler for this status code.

</p>

</div>

</body>

</html>

<!-- POST https://15five.localhost/sftp/receiver/ -->

<!-- HTTP/1.1 500 Internal Server Error -->

<!-- Server: nginx/1.18.0 (Ubuntu) -->

<!-- Date: Tue, 13 Oct 2020 18:18:07 GMT -->

<!-- Content-Type: text/html -->

<!-- Content-Length: 164661 -->

<!-- Connection: keep-alive -->

<!-- X-Frame-Options: SAMEORIGIN -->

<!-- Vary: Authorization, Cookie -->

<!-- Request duration: 0.519823s -->

,#+END_SRC

#+end_example