# Primary
tbansal@chromium.org
dougarnett@chromium.org
rajendrant@chromium.org
robertogden@chromium.org
ryansturm@chromium.org
sclittle@chromium.org

# Secondary
bengr@chromium.org

per-file *_messages.cc=set noparent
per-file *_messages.cc=file://ipc/SECURITY_OWNERS

per-file *_messages*.h=set noparent
per-file *_messages*.h=file://ipc/SECURITY_OWNERS

# COMPONENT: Internals>Network>DataProxy

# Leave ASCII Art in comments
################################################################################
#                                                                              #
#                                  ...........                                 #
#                            .,**///(((((((((///**,.                           #
#                        .*//(((((((((((((((((((((((/*,.                       #
#                   .,//((((((((((((((////(((((((((((((((/*,                   #
#                 .*/((((((((((//*,,........,,*//(((((((((((*.                 #
#               .*/((((((((//*,.                .,*//((((((((/*.               #
#             .*/(((((((((*.                        .*/((((((((/*.             #
#           ,*/(((((((/*,                              .,*/(((((((/            #
#          ./(((((((/*.                                   .*(((((((*.          #
#         .*(((((((/,                                       */((((/,           #
#        .*/((((((/.                                         ,*//,.            #
#       ,/((((((/,                                                             #
#      .*((((((/,                                                              #
#      ,/(((((/,                                                    .,**,      #
#     ,/((((/*                                                  .,*/((((*.     #
#     */((((*.                                               .,*/(((((((/.     #
#    .*(((/*           .*/*,.                              .//((((((((((/.     #
#    .*/*.          .,//(((((/*,.                      .,*//((((((((((((/,     #
#                .*/(((((((((((((//,.              .,//(((((((((///(((((/,     #
#             .,//((((((((//((((((((//*.        .,*/(((((((((/*,..,(((((/.     #
#           ,*/((((((((//*..,*/((((((((//*.   *//(((((((((//.     *(((((*.     #
#       .,*/(((((((//,.         .*//(((((((((((((((((//*.        ./((((/,      #
#      .*(((((((((/.               .,*/((((((((((((//.          .*/((((*.      #
#       ,/(((((//,.                    *//((((((/*,.            ,/((((/,       #
#        */((((/,                        .,*//*,.              ,/((((/*.       #
#         ./((((/*.                                          .*/((((/,         #
#          ./(((((/                                         ,/(((((/,          #
#           */(((((*,                                      ,/((((((,           #
#             ,//((((//*.                              .*/((((((/*.            #
#               ,//(((((//,.                        .*/(((((((//,              #
#                 ,/(((((((//*,..             ..,**//(((((((/*,                #
#                  .,//(((((((((///*********///(((((((((((//.                  #
#                       .,//(((((((((((((((((((((((((//*.                      #
#                          .,,*//((((((((((((((///**,                          #
#                                                                              #
################################################################################
