prompt: You will be provided with a partial code base and an issue statement explaining a problem to resolve.
  <issue>
  POST with If-None-Match: * and provided id in body always return 412
  Detected using kinto-client v0.4.0 https://github.com/Kinto/kinto-client/blob/v0.4.0/src/requests.js#L188-L205
  
  See https://github.com/mozilla-services/cliquet/issues/673
  
  
  </issue>
  <code>
  [start of setup.py]
  1 import codecs
  2 import os
  3 import sys
  4 from setuptools import setup, find_packages
  5 
  6 here = os.path.abspath(os.path.dirname(__file__))
  7 
  8 
  9 def read_file(filename):
  10     """Open a related file and return its content."""
  11     with codecs.open(os.path.join(here, filename), encoding='utf-8') as f:
  12         content = f.read()
  13     return content
  14 
  15 README = read_file('README.rst')
  16 CHANGELOG = read_file('CHANGELOG.rst')
  17 CONTRIBUTORS = read_file('CONTRIBUTORS.rst')
  18 
  19 REQUIREMENTS = [
  20     'waitress',
  21     'cliquet>=3,<4',
  22     'jsonschema',
  23 ]
  24 
  25 POSTGRESQL_REQUIREMENTS = REQUIREMENTS + [
  26     'cliquet[postgresql]>=3,<4'
  27 ]
  28 
  29 MONITORING_REQUIREMENTS = REQUIREMENTS + [
  30     'cliquet[monitoring]>=3,<4'
  31 ]
  32 
  33 FXA_REQUIREMENTS = REQUIREMENTS + [
  34     'cliquet-fxa<2'
  35 ]
  36 
  37 ENTRY_POINTS = {
  38     'paste.app_factory': [
  39         'main = kinto:main',
  40     ],
  41     'console_scripts': [
  42         'kinto = kinto.__main__:main'
  43     ],
  44 }
  45 
  46 DEPENDENCY_LINKS = [
  47 ]
  48 
  49 setup(name='kinto',
  50       version='1.12.0.dev0',
  51       description='Kinto Web Service - Store, Sync, Share, and Self-Host.',
  52       long_description=README + "\n\n" + CHANGELOG + "\n\n" + CONTRIBUTORS,
  53       license='Apache License (2.0)',
  54       classifiers=[
  55           "Programming Language :: Python",
  56           "Programming Language :: Python :: 2",
  57           "Programming Language :: Python :: 2.7",
  58           "Programming Language :: Python :: 3",
  59           "Programming Language :: Python :: 3.4",
  60           "Programming Language :: Python :: 3.5",
  61           "Programming Language :: Python :: Implementation :: CPython",
  62           "Programming Language :: Python :: Implementation :: PyPy",
  63           "Topic :: Internet :: WWW/HTTP",
  64           "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
  65           "License :: OSI Approved :: Apache Software License"
  66       ],
  67       keywords="web sync json storage",
  68       author='Mozilla Services',
  69       author_email='storage-team@mozilla.com',
  70       url='https://github.com/Kinto/kinto',
  71       packages=find_packages(),
  72       include_package_data=True,
  73       zip_safe=False,
  74       install_requires=REQUIREMENTS,
  75       extras_require={
  76           'postgresql': POSTGRESQL_REQUIREMENTS,
  77           'monitoring': MONITORING_REQUIREMENTS,
  78           'fxa': FXA_REQUIREMENTS,
  79           ":python_version=='2.7'": ["functools32"],
  80       },
  81       test_suite="kinto.tests",
  82       entry_points=ENTRY_POINTS,
  83       dependency_links=DEPENDENCY_LINKS)
  84
  [end of setup.py]
  </code>
  
  I need you to solve this issue by generating a single patch file that I can apply directly to this repository using git apply. Please respond with a single patch file in the following format.
  <patch>
  diff --git a/file.py b/file.py
  --- a/file.py
  +++ b/file.py
  @@ -1,27 +1,35 @@
   def euclidean(a, b):
  -    while b:
  -        a, b = b, a % b
  -    return a
  +    if b == 0:
  +        return a
  +    return euclidean(b, a % b)
   
   
   def bresenham(x0, y0, x1, y1):
       points = []
       dx = abs(x1 - x0)
       dy = abs(y1 - y0)
  -    sx = 1 if x0 < x1 else -1
  -    sy = 1 if y0 < y1 else -1
  -    err = dx - dy
  +    x, y = x0, y0
  +    sx = -1 if x0 > x1 else 1
  +    sy = -1 if y0 > y1 else 1
   
  -    while True:
  -        points.append((x0, y0))
  -        if x0 == x1 and y0 == y1:
  -            break
  -        e2 = 2 * err
  -        if e2 > -dy:
  -            err -= dy
  -            x0 += sx
  -        if e2 < dx:
  -            err += dx
  -            y0 += sy
  +    if dx > dy:
  +        err = dx / 2.0
  +        while x != x1:
  +            points.append((x, y))
  +            err -= dy
  +            if err < 0:
  +                y += sy
  +                err += dx
  +            x += sx
  +    else:
  +        err = dy / 2.0
  +        while y != y1:
  +            points.append((x, y))
  +            err -= dx
  +            if err < 0:
  +                x += sx
  +                err += dy
  +            y += sy
  +
  +    points.append((x, y))
       return points
  
  </patch>
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -18,16 +18,16 @@
   
   REQUIREMENTS = [
       'waitress',
  -    'cliquet>=3,<4',
  +    'cliquet>=3.1,<4',
       'jsonschema',
   ]
   
   POSTGRESQL_REQUIREMENTS = REQUIREMENTS + [
  -    'cliquet[postgresql]>=3,<4'
  +    'cliquet[postgresql]>=3.1,<4'
   ]
   
   MONITORING_REQUIREMENTS = REQUIREMENTS + [
  -    'cliquet[monitoring]>=3,<4'
  +    'cliquet[monitoring]>=3.1,<4'
   ]
   
   FXA_REQUIREMENTS = REQUIREMENTS + [
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -18,16 +18,16 @@\n \n REQUIREMENTS = [\n     'waitress',\n-    'cliquet>=3,<4',\n+    'cliquet>=3.1,<4',\n     'jsonschema',\n ]\n \n POSTGRESQL_REQUIREMENTS = REQUIREMENTS + [\n-    'cliquet[postgresql]>=3,<4'\n+    'cliquet[postgresql]>=3.1,<4'\n ]\n \n MONITORING_REQUIREMENTS = REQUIREMENTS + [\n-    'cliquet[monitoring]>=3,<4'\n+    'cliquet[monitoring]>=3.1,<4'\n ]\n \n FXA_REQUIREMENTS = REQUIREMENTS + [\n", "issue": "POST with If-None-Match: * and provided id in body always return 412\nDetected using kinto-client v0.4.0 https://github.com/Kinto/kinto-client/blob/v0.4.0/src/requests.js#L188-L205\n\nSee https://github.com/mozilla-services/cliquet/issues/673\n\n", "before_files": [{"content": "import codecs\nimport os\nimport sys\nfrom setuptools import setup, find_packages\n\nhere = os.path.abspath(os.path.dirname(__file__))\n\n\ndef read_file(filename):\n    \"\"\"Open a related file and return its content.\"\"\"\n    with codecs.open(os.path.join(here, filename), encoding='utf-8') as f:\n        content = f.read()\n    return content\n\nREADME = read_file('README.rst')\nCHANGELOG = read_file('CHANGELOG.rst')\nCONTRIBUTORS = read_file('CONTRIBUTORS.rst')\n\nREQUIREMENTS = [\n    'waitress',\n    'cliquet>=3,<4',\n    'jsonschema',\n]\n\nPOSTGRESQL_REQUIREMENTS = REQUIREMENTS + [\n    'cliquet[postgresql]>=3,<4'\n]\n\nMONITORING_REQUIREMENTS = REQUIREMENTS + [\n    'cliquet[monitoring]>=3,<4'\n]\n\nFXA_REQUIREMENTS = REQUIREMENTS + [\n    'cliquet-fxa<2'\n]\n\nENTRY_POINTS = {\n    'paste.app_factory': [\n        'main = kinto:main',\n    ],\n    'console_scripts': [\n        'kinto = kinto.__main__:main'\n    ],\n}\n\nDEPENDENCY_LINKS = [\n]\n\nsetup(name='kinto',\n      version='1.12.0.dev0',\n      description='Kinto Web Service - Store, Sync, Share, and Self-Host.',\n      long_description=README + \"\\n\\n\" + CHANGELOG + \"\\n\\n\" + CONTRIBUTORS,\n      license='Apache License (2.0)',\n      classifiers=[\n          \"Programming Language :: Python\",\n          \"Programming Language :: Python :: 2\",\n          \"Programming Language :: Python :: 2.7\",\n          \"Programming Language :: Python :: 3\",\n          \"Programming Language :: Python :: 3.4\",\n          \"Programming Language :: Python :: 3.5\",\n          \"Programming Language :: Python :: Implementation :: CPython\",\n          \"Programming Language :: Python :: Implementation :: PyPy\",\n          \"Topic :: Internet :: WWW/HTTP\",\n          \"Topic :: Internet :: WWW/HTTP :: WSGI :: Application\",\n          \"License :: OSI Approved :: Apache Software License\"\n      ],\n      keywords=\"web sync json storage\",\n      author='Mozilla Services',\n      author_email='storage-team@mozilla.com',\n      url='https://github.com/Kinto/kinto',\n      packages=find_packages(),\n      include_package_data=True,\n      zip_safe=False,\n      install_requires=REQUIREMENTS,\n      extras_require={\n          'postgresql': POSTGRESQL_REQUIREMENTS,\n          'monitoring': MONITORING_REQUIREMENTS,\n          'fxa': FXA_REQUIREMENTS,\n          \":python_version=='2.7'\": [\"functools32\"],\n      },\n      test_suite=\"kinto.tests\",\n      entry_points=ENTRY_POINTS,\n      dependency_links=DEPENDENCY_LINKS)\n", "path": "setup.py"}]}