tree b91b44dfca9c5f66e0f0180600290078f15e4e36
parent 77340692640f929163318ecd46a9e68382bbf17b
author Tennessee Carmel-Veilleux <tennessee.carmelveilleux@gmail.com> 1725498773 -0400
committer GitHub <noreply@github.com> 1725498773 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJm2QWVCRC1aQ7uu5UhlAAAnuYQADWlxJztG6g32OcyG0INoFEB
 07eBFMyRrAeiH6IZXwxuv4snY4wrl9l8zfASOpduhuna49/UfHbVgTA6Hk9B8Qbh
 +v+P76G/Fh9PYRGC6BlVKAYvUioPReXPwgJ1BW8lX3v4g7JkdYQCm217iMGAxCxd
 gnK9biaX5MS02C1sYHSPGWS4/ExNLrlVOpjA33r3PzPc/AlgmhU3ypec2FMyRGH+
 QQnRoXe7/xjs23ysG/H6lsfuRAt561QshAw9ArQ3kG6INDP1LxSPjwtOiIcapM26
 pf8ppd8K8crU5R2xSrzPkGn8oLysPSI9vBqoE59/AV5UKYGwzm/B+ODADUZyVsp2
 VAt8HsmMQPwDfQuxmVOy/8LCjc6tkfkbPabEWaMppE4K99hC5N6RKLwUCshhjBFN
 WN6JUQbdT9tg4SsbYkiqzJSmJdLX4eefyFepRlJ604yBdDEZXHUsUX0D3uuGZNnm
 REAUy6/6w5/SRCDV9a5kfmOmNjDv3lIpMjyYMo3tBX2f8bHZf0/IB9EHSeFTrNk6
 oIW5Y9+MQlhbNepXDKvYbCEybooo5RYDj5sC2Jlb3JYm07q3O3pfKYl2ISf442ff
 9p1SSP6Zbgcb/j7cxDUbKp3ZZeUrv0s9GvPYIGhOB6CwcxOk9OJMRNg4V2n+Dr6D
 mA0zCWq+SQgxK/5oL1kn
 =3Nvx
 -----END PGP SIGNATURE-----
 

Fix ACL XML for MACL and sample conformance (#35411)

* Fix ACL cluster ZAP XML and regen ZAP

- Remove dead event AccessRestrictionEntryChanged
- Set response command for ReviewFabricRestrictions
- Set correct optionality for FabricRestrictionReviewUpdate

* Fix access control server after XML change

* Remove unsupportable commnad

* Rename RedirectURL field to ARLRequestFlowUrl

* Kick CI

* Kick CI

* Remove non-longer-applicable files

* Increase size of event buffer pool in NIM sample

* Restyled by clang-format

* Fix format

* Remove subscription for event that no longer exists

---------

Co-authored-by: Restyled.io <commits@restyled.io>