code: def chunk_iCCP(self, pos, length):
      # ICC profile
      s = ImageFile._safe_read(self.fp, length)
      # according to PNG spec, the iCCP chunk contains:
      # Profile name  1-79 bytes (character string)
      # Null separator        1 byte (null character)
      # Compression method    1 byte (0)
      # Compressed profile    n bytes (zlib with deflate compression)
      i = s.find(b"\0")
      logger.debug("iCCP profile name %r", s[:i])
      logger.debug("Compression method %s", i8(s[i]))
      comp_method = i8(s[i])
      if comp_method != 0:
          raise SyntaxError(
              "Unknown compression method %s in iCCP chunk"
              % comp_method
          )
      try:
          icc_profile = _safe_zlib_decompress(s[i + 2 :])
      except ValueError:
          if ImageFile.LOAD_TRUNCATED_IMAGES:
              icc_profile = None
          else:
              raise
      except zlib.error:
          icc_profile = None  # FIXME
      self.im_info["icc_profile"] = icc_profile
      return s
  
imports: import logging
  import re
  import struct
  import zlib
  from .None import Image, ImageFile, ImagePalette
  from ._binary import i8, i16be, i32be, o16be, o32be
  from ._util import py3
label_desc: Use image node_id 3 for calling the PngStream obj's underlying member method code with example usage: obj.chunk_iCCP(pos, length) and returns: s