anchor.diff:    <br> <br>
   
     Within the <em>lti_authorize!</em> endpoint, OpenDSA creates a tool
  -  provider object from the authentication object created above and throws an
  -  error and returns in case the key and secret do not match.<br><br>
  +  provider object from the authentication object created above, throws an
  +  error, and returns in case the key and secret do not match.<br><br>
   
     <pre>
       def lti_authorize!
  
positive.code:     </pre>
      The code above is executed on the selection of an exercise. This code
      calls the <em>getResourceURL</em> method, which generates the URL.
      Following is a code of the <em>getResourceURL</em> method.<br><br>
      <pre>
        var getResourceURL = function (obj) {
          if (!$.isEmptyObject(obj)) {
  
negative.code:       @terms = Term.on_or_future
      end
      </pre>
      Then OpenDSA creates a launch url for OpenDSA from the request object.
      The protocol is <em>http</em> or <em>https</em>, and
      <em>host_with_port</em> is a complete url where OpenDSA is hosted.
      <br><br>
  
    <pre>
      @launch_url = request.protocol + request.host_with_port + "/lti/launch"
    </pre>
  
    OpenDSA then validates if the request received from the Tool Consumer
    is an authentic LTI request or not.<br><br>
    <pre>
      # must include the oauth proxy object
  